導(dǎo)語:
在公司團(tuán)隊(duì)中寫完代碼就要提交到git上面,因?yàn)槎嗳撕献?,先要將遠(yuǎn)端的代碼pull更新到本地。往往這時(shí)候因?yàn)榇蠹覍?duì)同一個(gè)文件同一個(gè)地方做了操作,導(dǎo)致pull代碼沖突發(fā)生,工程崩潰。提示錯(cuò)誤信息如下:
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.
這個(gè)提示意思就是說更新下來的內(nèi)容和本地修改的內(nèi)容有沖突,先提交你改變的內(nèi)容或者先將你本地修改的內(nèi)容暫時(shí)存起來。
下面我們就分幾步解決處理這個(gè)pull沖突問題.
1.存儲(chǔ)本地修改的內(nèi)容
git stash
這句命令就是將本地修改的代碼做一份備份存儲(chǔ)起來,可以用git stash list 查看剛剛備份保存的內(nèi)容:

git stash list.png
其中stash@{0}就是剛剛備份存儲(chǔ)的標(biāo)記
2.pull內(nèi)容
將本地代碼做了備份保存后,就可以pull遠(yuǎn)端代碼
git pull
3.還原備份暫存的代碼
git stash pop stash@{0}
stash@{0}是你剛剛備份存儲(chǔ)的標(biāo)記
這時(shí)候系統(tǒng)會(huì)提示類似以下的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
這個(gè)提示內(nèi)容意思就是系統(tǒng)自動(dòng)合并修改的內(nèi)容,但是當(dāng)中會(huì)有沖突,需要解決其中的沖突。
4.解決文件中的沖突內(nèi)容
打開上面提示的沖突文件,會(huì)看到類似的內(nèi)容:

沖突提示.png
其中Updated upstream和=======之間的內(nèi)容是從遠(yuǎn)端pull下來的代碼,=======和Stashed changes之間的內(nèi)容則是你本地修改的內(nèi)容。這時(shí)候,需要你修改決定留下哪些需要的內(nèi)容。
最后,解決完沖突,就可以正常git提交了。