1. 程式人生 > >Git衝突與解決衝突

Git衝突與解決衝突

1.產生衝突原因

產生:多個開發者同時使用或者操作git中的同一個檔案,最後在依次提交和push的時候,第一個操作的是可以正常提交的,而之後的開發者想要執行pull(拉)和pullpush)操作的時候,就會報衝突異常conflict

解決:保留自己修改的資料,同時保留別人的資料資訊。

2.衝突的演示

先拉後推

1)d:\磁碟下建立三個目錄

將”git_repository”資料夾設定成git版本控制系統

uer1user2資料夾作為兩個不同的客戶端,並在該目錄建立相同的檔名稱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