# 任務五:GitHub PR 衝突解決 ## 關卡示範影片 {%youtube 0JaXEZK81xA %} ## 關卡提醒 無 ## 你可以掌握的技術 - 非同步更新進度 - 審核 PR 通過、退 PR 的應對 ## 任務流程 - [ ] 1-1:A 成員新增一個新的 Repo,增加 `index.html`,並在 `index.html` 加入以下內容,在 `main` commit 一個版本,**進行 git push 動作,B 成員也將進度 clone 下來** ::: 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> </body> </html> ``` ::: - [ ] 1-2:A 成員在 `main` 分支進度上,開一個 `feature/editTitleA` 的分支 ,在`index.html` 的 title 調整為 `修改 Title A`, **將`feature/editTitleA`分支進行 git push,並發 PR 合併到 `main`,並指派 B 成員 review** - [ ] 1-3:B 成員在 main 分支進度上,開一個 `feature/editTitleB` 的分支 ,在`index.html` 的 title 調整為 `修改 Title B`, 將`feature/editTitleB`分支進行 git push,並發 PR 合併到 main,並指派 A 成員 review - [ ] 1-4:B 成員審核 A 成員的 PR 通過 # 以下有兩個版本 ## 版本一:B 開發者自行處理(業界傾向此種流程) - [ ] 1-5:A 成員檢視 B 的 PR 會發生衝突,於是退回 PR 或留言請 B 成員修好 - [ ] 1-6:B 成員進行 `git fetch origin main` 指令抓最新版本下來後,git checkout 到`feature/editTitleB`,並合併 `origin/main` 進度,合併發生衝突需解衝突。並將 title 改為 `修改 title AB`, **將`feature/editTitleB`分支進行 git push,並請 A 成員 review** - [ ] 1-7:A 成員審核成功後,用 GitHub Pages 觀看 `main` 分支的頁面是否有出現預期網頁畫面 ## 版本二:幫忙 Review 的 A 開發者,fetch 下來解衝突(除非你主管跟同事是好人,才是此版本) - [ ] 1-5:A 成員檢視 B 的 PR 會發生衝突 - [ ] 1-6:A 成員進行 `git fetch origin main`、`git fetch origin feature/editTitleB` 指令抓最新版本下來後,git checkout 到`feature/editTitleB`,並合併 `origin/main` 進度,合併發生衝突需解衝突。並將 title 改為 `修改 title AB`, **將`feature/editTitleB`分支進行 git push,並審核通過 PR** - [ ] 1-7:A 成員審核成功後,用 GitHub Pages 觀看 `main` 分支的頁面是否有出現預期網頁畫面 ## 通關檢核點 - [ ] A、B 成員與 GitHub Repo 都有相同的 commit 數量 - [ ] 藍字步驟,都有顯示預期結果 ## 預期線圖  ## 提交 Git Repo 連結 * [練習用 Git Repo 連結](#)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up