導語:
在公司團隊中寫完代碼就要提交到git上面钞钙,因為多人合作,先要將遠端的代碼pull更新到本地声离。往往這時候因為大家對同一個文件同一個地方做了操作芒炼,導致pull代碼沖突發(fā)生,工程崩潰术徊。提示錯誤信息如下:
error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
這個提示意思就是說更新下來的內(nèi)容和本地修改的內(nèi)容有沖突本刽,先提交你改變的內(nèi)容或者先將你本地修改的內(nèi)容暫時存起來。
下面我們就分幾步解決處理這個pull沖突問題.
1.存儲本地修改的內(nèi)容
git stash
這句命令就是將本地修改的代碼做一份備份存儲起來赠涮,可以用git stash list 查看剛剛備份保存的內(nèi)容:
其中stash@{0}就是剛剛備份存儲的標記
2.pull內(nèi)容
將本地代碼做了備份保存后子寓,就可以pull遠端代碼
git pull
3.還原備份暫存的代碼
git stash pop stash@{0}
stash@{0}是你剛剛備份存儲的標記
這時候系統(tǒng)會提示類似以下的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
這個提示內(nèi)容意思就是系統(tǒng)自動合并修改的內(nèi)容,但是當中會有沖突笋除,需要解決其中的沖突斜友。
4.解決文件中的沖突內(nèi)容
打開上面提示的沖突文件,會看到類似的內(nèi)容:
其中Updated upstream和=======之間的內(nèi)容是從遠端pull下來的代碼垃它,=======和Stashed changes之間的內(nèi)容則是你本地修改的內(nèi)容鲜屏。這時候,需要你修改決定留下哪些需要的內(nèi)容国拇。
最后洛史,解決完沖突,就可以正常git提交了酱吝。