Git衝突與解決衝突
1.產生衝突原因
產生:多個開發者同時使用或者操作git中的同一個檔案,最後在依次提交和push的時候,第一個操作的是可以正常提交的,而之後的開發者想要執行pull(拉)和pull(push)操作的時候,就會報衝突異常conflict。
解決:保留自己修改的資料,同時保留別人的資料資訊。
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,檔案發生該邊。
直接修改檔案中資料,將特殊符號刪除,如圖所示:
儲存檔案
第三步,選擇test.txt檔案滑鼠右擊選擇 Git Commit --> 提交 -- >push 釋出。
2)通過edit conflicts修改
選中test.txt檔案,右擊選單選項 tortoiseGit --> Edit conflict
修改編輯區:將Theirs- 或者 Local-中需要的資料新增到Meged中。
儲存時 標記衝突解決
通過以上操作,可以實現簡單的git的衝突和衝突的解決方式。
原創:http://www.cnblogs.com/blogslee/p/6828659.html