Git學(xué)習(xí)之多人協(xié)同工作的最后一種沖突情況
在多人基于同一個 GitHub 遠程倉庫進行協(xié)同工作時,很容易會產(chǎn)生各種沖突情況。我們前面已經(jīng)介紹了4種常見的沖突情況,這里再來分享最后一種常見的沖突情景:兩人均對同一個文件進行重命名操作。沖突情況描
在多人基于同一個 GitHub 遠程倉庫進行協(xié)同工作時,很容易會產(chǎn)生各種沖突情況。我們前面已經(jīng)介紹了4種常見的沖突情況,這里再來分享最后一種常見的沖突情景:兩人均對同一個文件進行重命名操作。
沖突情況描述
兩個協(xié)同工作的人員,分別是 ZhangSan 和 LiSi,他們都在同一個名為 miletoneS 的分支上進行工作。ZhangSan 修改了文件 的名稱為 ,并成功推送到了 GitHub 遠程倉庫。而 LiSi 也同時修改了該文件,將其重命名為 ,在嘗試推送到遠程分支時報錯了。
Git 如何處理這種沖突
1. LiSi 通過 `git pull` 命令嘗試更新本地分支,發(fā)現(xiàn)有沖突,Git 嘗試合并變更失敗了。LiSi 本地倉庫中包含了兩個文件 (ZhangSan 推送的文件) 和 (LiSi 自己的文件)。
2. LiSi 需要與 ZhangSan 進行溝通,雙方協(xié)商一個一致的處理方案。假設(shè)雙方?jīng)Q定保留 LiSi 的變更,將 ZhangSan 的變更刪除。
3. LiSi 執(zhí)行以下命令:
- `git rm ` 刪除 ZhangSan 所做的變更
- `git commit -am "提交注釋"` 將變更提交到本地倉庫
- `git push 遠程倉庫別名 分支名稱` 將最終變更推送到 GitHub
總結(jié)
對于協(xié)同工作中出現(xiàn)的這種沖突情況,后推送的人員在發(fā)生合并沖突時,需要與提前推送的人員溝通,雙方協(xié)商一個一致的解決方案,由后推送人員按方案實施變更后,再次提交推送即可。