1.產生沖突原因
產生:多個開發者同時使用或者操作git中的同一個文件,最后在依次提交commit和推送push的時候,第一個操作的是可以正常提交的,而之后的開發者想要執行pull(拉)和pull(推)操作的時候,就會報沖突異常conflict。
解決:保留自己修改的數據,同時保留別人的數據信息;同時pull代碼之前,需要手動解決沖突之后再作提交。
2.沖突的演示
1)在d:\磁盤下創建三個目錄
將”git_repository”文件夾設置成git版本控制系統
將uer1、user2文件夾作為兩個不同的客戶端,並在該目錄創建相同的文件名稱test.txt但內容不同。
2)User1文件夾下的操作
第一步,在test.txt文件同級空白處鼠標右擊選擇 tortoisGit --> pull
第二步,在test.txt文件同級空白處鼠標右擊選擇 Git-commit --提交 -- 發布
以上操作,可以操作成功。
3)user2文件加下的操作
在test.txt文件同級空白處鼠標右擊選擇 tortoisGit --> pull,此時會產生異常,具體信息如下:
異常描述:對以下文件的本地更改將被合並覆蓋
3.沖突的解決
1)直接修改文件
第一步,選擇test.txt文件鼠標右擊選擇 Git-commit --提交到user2的本地倉庫
第二部,在test.txt文件同級空白處鼠標右擊選擇 tortoisGit --> pull,文件發生該邊。
直接修改文件中數據,將特殊符號刪除,如圖所示:
保存文件:
<<<<<<< HEAD
是指你本地的分支的 ============
本地待提交的commit代碼
>>>>>>>> 39645e0443a07957dae
第三步,選擇test.txt文件鼠標右擊選擇 Git Commit --> 提交 -- >push 發布。
2)通過edit conflicts修改
選中test.txt文件,右擊菜單選項 tortoiseGit --> Edit conflict
修改編輯區:將Theirs- 或者 Local-中需要的數據添加到Meged中。
保存時 標記沖突解決
通過以上操作,可以實現簡單的git的沖突和沖突的解決方式。