Git:避免更新代碼導致被還原或覆蓋的解決方案
結論先行:
1、明確分工,相同文件,儘可能只由一個人操作 (根本上解決問題)
2、保存儲藏->拉取代碼->彈出儲藏->解決衝突 (推薦,版本記錄好看且方便)
3、拉取代碼,合併時的必填消息不填或爲空!最後檢查每一個被修改的文件,確保沒有問題後再重新提交
白菜實驗:
人物:小白與小菜
前提:協同開發,關聯同一個遠程倉庫
假設:
小白修改 a.txt 文件後提交併推送到遠程倉庫
小菜也修改了 a.txt 文件
小菜使用 git pull 拉去代碼失敗,提示可以使用 commit 或 stash 去解決問題
解決辦法:
- 採用 stash 方法 (推薦)
- 保存儲藏(git stash save) -> 拉取代碼(git pull) -> 彈出代碼(git pop) -> 解決衝突(如果有) -> 添加代碼(git add . ) -> 提交代碼(git commit -m’msg’) -> 推送遠程(git push)
- 採用 commit 方法
- 先提交改變的代碼到本地倉庫:添加代碼(git add . ) -> 提交代碼(git commit -m’msg’)
- 執行 (git pull) 或者(git fetch + git merge)代碼後將會觸發2種情況
- 有衝突,合併失敗:解決衝突問題並覈對修改的文件,確定無誤在重新添加並推送遠程
- 提示填寫消息:不填寫或者取消,去檢查修改的代碼,確定無誤在重新添加並推送遠程
題外內容:
1、少修改的地方(生產環境、公網測試環境):推薦 git pull
2、進場修改的地方(本地開發環境):推薦 git stash
知識發現:
1、觸發衝突的必要條件是修改同一個文件且修改的位置非常近,否者Git會自動合併其內容
渴望力量:
1、不足之處,望各位小夥伴可以多多指出
2、疑問之處,可以私聊,很開心能一起探討