情景,aa/a.txt中的,bb=1javascript
git statusjava
修改本地的aa/a.txt中的,bb=3git
在服務器也修改了aa/a.txt,bb=2服務器
提交本地的代碼到遠程倉庫spa
在服務器執行git pull3d
此時,發生代碼衝突blog
1 若是但願保存本地改動並拉下最新服務器代碼,手動mergeip
(1)要保留服務器上的修改it
git stash
git stash list將當前的Git棧信息打印出來class
git stash list
stash@{0}就是剛纔保存的標記
(2)暫存了本地修改以後,pull內容
git pull
(3)還原暫存的內容
git stash pop stash@{0}
系統自動合併修改的內容,可是其中有衝突,須要解決其中的衝突
(4)解決文件中衝突的的部分
打開衝突的文件
Updated upstream 和=====之間的內容就是pull下來的內容
====和stashed changes之間的內容就是本地修改的內容
這種狀況,git也不知道哪行內容是須要的,因此要自行肯定須要的內容
直接編輯衝突了的文件(test.txt),把衝突標記刪掉,把衝突解決正確
eg:
保留bb=2
保存退出
(5) 刪除stash
git stash drop stash@{0}
清除0編號的stash
清除全部stash
git stash clear
(6)提交aa/a.txt的修改
git add aa/a.txt
修改本地的其餘文件,並提交到遠程倉庫
服務器上拉取代碼
將本地的a.txt,bb=5,提交代碼,更新到遠程倉庫
按照(1)-(6)步驟處理衝突
2. 若是但願服務器上版本徹底覆蓋本地修改,使用以下命令回退並更新
git reset --hard git pull