SourceTree使用教程(四)---沖突解決


 雖然在團隊協作開發中強調盡量避免操作同一文件,以避免沖突,但是在實際開發中還是會遇到沖突,所以掌握解決沖突的方法必不可少。

方法/步驟

 
  1. 1

    解決沖突就要先制造沖突,沖突一般是由於兩個人同時修改同一文件而造成的。在GitHub上修改遠程倉庫文件模擬一個人操作,sourceTree本地修改同一文件模擬另一個人操作。

    SourceTree使用教程(四)---沖突解決
  2. 2

    登錄GitHub ,打開GitTest,編輯test1.txt文件

    SourceTree使用教程(四)---沖突解決
  3. 3

    在文件末尾增加 內容 code conclick1,點擊提交。如下圖所示。

    SourceTree使用教程(四)---沖突解決
    SourceTree使用教程(四)---沖突解決
  4. 4

    打開本地工作副本的test1.txt文件,新增內容code conclick2,如下圖:

    SourceTree使用教程(四)---沖突解決
  5.  

    打開sourceTree,可以看到本地工作副本有個待提交記錄。

    SourceTree使用教程(四)---沖突解決
  6.  

    推送代碼。這個時候你修改完了本地的功能,並不知道遠程倉庫上也有人提交了該文件的修改。直接推送本地修改,推送本地工作副本到遠程倉庫,運行完成后會報錯,大概是提示本地倉庫和遠程倉庫版本不一致,無法提交,但是本地工作副本的修改卻是已經提交到了本地倉庫。如下圖。

    SourceTree使用教程(四)---沖突解決
    SourceTree使用教程(四)---沖突解決
  7.  

    既然提示 和遠程倉庫版本不一致,無法推送,那只能先拉成一致了。點擊拉取圖標,等執行完,就會出現下圖所示。有一個待拉取的圖標和一個待推送的圖標,並且test1.txt文件的圖標變成了黃色的感嘆號。這個時候文件的沖突就造成了。

    SourceTree使用教程(四)---沖突解決
  8.  

    沖突文件會把兩者的修改以沖突的方式合在一個文件里,等待使用者去處理。那么基本的處理思想是:要么使用其中某一個人的,要么使用兩者的組合。

    沖突的解決需要一個外部代碼對比工具,我這里使用的是Beyond Compare 4,大家可以自己百度下載安裝,然后集成到sourceTree軟件中。如下圖。在外部對比工具中找到Beyond Compare 4的可執行程序,點擊確定。

    SourceTree使用教程(四)---沖突解決
  9.  

    下面開始使用代碼對比工具解決沖突,選中待解決沖突的代碼,右鍵 解決沖突,打開外部合並工具。

    SourceTree使用教程(四)---沖突解決
  10.  

    等待一會,Beyond Compare 4就會被打開。第一塊是本地修改的版本,第二塊是沖突兩者(本地倉庫和遠程倉庫)相同的版本基准,第三塊是 遠程倉庫的修改。第四塊是沖突處理后的代碼。

    SourceTree使用教程(四)---沖突解決
  11.  

    本次解決沖突是為了合並兩者的修改,所以我會把第一塊和第三塊所做的修改按照正確的邏輯順序,合到第四塊。如下圖,點擊保存。關閉該對比軟件。

    SourceTree使用教程(四)---沖突解決
  12.  

    切到sourceTree界面,可以看到多了一個解決沖突的中間文件,由於沖突已解決,直接右鍵移除,

    SourceTree使用教程(四)---沖突解決
  13.  

    可以看到沖突已解決,代碼已正確合並。推送該合並。

    SourceTree使用教程(四)---沖突解決
  14.  

    這樣沖突就被解決了,可以看到本地工作副本和遠程倉庫的代碼都是一致的了。

    SourceTree使用教程(四)---沖突解決
     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM