-
產生沖突原因
產生:多個開發者同時使用或者操作git中的同一個文件,最后在依次提交commit和推送push的時候,第一個操作的是可以正常提交的,而之后的開發者想要執行pull(拉)和pull(推)操作的時候,就會報沖突異常conflict。
解決:保留自己修改的數據,同時保留別人的數據信息;同時pull代碼之前,需要手動解決沖突之后再作提交。
-
沖突的演示
(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,此時會產生異常,具體信息如下:
異常描述:對以下文件的本地更改將被合並覆蓋
-
沖突的解決
(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-中需要的數據添加到Merged中。
保存時 標記沖突解決
通過以上操作,可以實現簡單的git的沖突和沖突的解決方式。