# 任務二:單一 branch 更新與衝突 ## 關卡示範影片 {%youtube LEYlUBWqAwI %} ## 關卡提醒 1. 請沿用 `任務 1 :環境初始化` 的 GitHub Repo 即可,或要新增一個 Repo 重新做也 ok ## 你可以掌握的技術 1. **合併和更新**:在 git push 時遭遇因其他成員已經更新而引發的錯誤。使用 `git pull` 進行合併前的更新,這時可能會產生版本衝突。 2. **版本衝突識別與解決**:當兩位成員修改了同一檔案的同一部分,將會在 `git pull` 時發生版本衝突。學習如何手動解決這些衝突,並合併版本。重新加入索引並使用 git commit 完成合併。 ## 任務流程 - [xx] 1-1:A 成員新增一個空的 `index.html` **,進行 git push 動作** - [x] 1-2:B 成員 Clone 下來,將 `index.html` 網頁內容加入下方折疊處後 **,進行 git push 動作** ::: spoiler HTML 內容 ``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h1>標題</h1> </body> </html> ``` ::: - [x] 1-3:**<span style="color:red">A 成員進行 git pull 抓最新 `index.html` 版本下來</span>** - [x] 1-4:A 成員修改 head 的 `title`,文字設為 `修改 title`,並 commit 一個版本,comment 內容為 `修改 head title`**,進行 git push 動作** - [x] 1-5:B 成員進行 `git pull` 抓最新版本下來 - [x] 1-6:B 成員修改 h1 的文字設為 `修改標題`,並 commit 一個版本,comment 內容為 `修改 h1 文字`**,進行 git push 動作** - [x] 1-7:A 成員修改 head 的 `title`,文字設為 `再次修改 title`,並 commit 一個版本,comment 內容為 `調整 head 文字` - [x] **1-8:<span style="color:red">A 成員進行 `git push`,引發更新錯誤</span>** - [x] 1-9:A 成員執行 `git pull` 合併版本後 **,進行 git push 動作** - [x] 1-10:B 成員進行 `git pull` 抓最新版本下來 - [x] 1-11:B 成員修改 h1 的文字設為 `修改標題 B`,並 commit 一個版本,comment 內容為 `修改 h1 文字,增加 B 資訊`**,進行 git push 動作** - [x] 1-12:A 成員修改 h1 的文字設為 `修改標題 A`,並 commit 一個版本,comment 內容為 `修改 h1 文字,增加 A 資訊` - [x] **1-13:<span style="color:red">A 成員執行 `git pull` 引發版本合併衝突**</span> - [x] 1-14:A 成員只保留一個 h1,文字設為 `修改標題 AB`,重新加入索引,並執行 `git commit` 來合併版本 **,進行 git push 動作** - [x] 1-15:B 成員也進行 git pull 抓最新版本下來 ## 通關檢核點 - [ ] A、B 成員與 GitHub Repo 都有相同的 commit 數量 - [ ] 藍字步驟,都有顯示預期結果 ``` ## 關鍵步驟講解 1-3:本地 Fast-forward (快轉) 合併成功 1-8:遠端 Fast-forward (快轉) 合併被拒絕 - 需執行 Pulling and Merging (拉取並合併) 1-13:Merge Conflict (合併衝突) ``` ## 預期線圖  ## 提交 Git Repo 連結 * [練習用 Git Repo 連結](#)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.