git 沖突分為兩種情況:
1、兩個人同時修改了一個文件test01.py,其中一個人先push上去,另外一人push的時候會出現沖突
2、兩個人修改了不同的文件,一個人push上去后,另外一個人push也會出現沖突
我們分類來說明如何解決這兩種情況情況:
1、兩個人同時修改了一個文件test01.py,其中一個人先push上去,另外一人push的時候會出現沖突
解決步驟:
1)、此時:git push 會報錯,提示需要先git pull 將遠程倉庫的代碼拉取下來
2)、然后執行git pull 提示CONFLICT ,文件沖突,
3)、執行git diff查看沖突文件,其中HEAD 和 ===之間的內容為自己修改的內容,=====之后為別人修改的內容
4)、用notepadd++ 或pycharm打開文件,並和更改此文件的人溝通,看看需要保留誰的更改,然后手動刪除或修改后保存文件test01.py
5)、再執行git add test01.py git commit -m "message"將文件添加到本地倉庫,再執行git push 推送到遠程倉庫
2、兩個人修改了不同的文件,一個人push上去后,另外一個人push也會出現沖突
當遠程倉庫比本地倉庫forward的時候,這個時候進行push都會提示報錯,此時需要先pull,然后再push
由於修改的是不同的文件,其實不存在沖突的問題,存在的是本地倉庫和遠程倉庫不同步的問題。
具體執行見下圖:
1)、git push 提示 錯誤 remote contains work that you co not have . 遠端倉庫比本地倉庫文件多,提示需要git pull
2)、 git pull 執行完成
3)、git diff 查看沖突,發現沒有沖突文件
4)、git status 查看狀態
5)、直接git push 將代碼推送到遠端倉庫