處理衝突的變更

有時候會有兩位使用者編輯相同檔案,當第二位使用者在儲存庫中進行確定,試圖確定變更時,因為發生衝突,儲存庫不會讓確定順利完成。 我們讓 Fred 和 Jane 變更相同的檔案來模擬這個情況。

  1. 在 Fred 的工作區中,請開啟一個導覽視圖,編輯 file1.txt。使文字如下:
    Fred line 1
    This is the contents
    Fred-update
    of file 1.
    
  2. 另外,Fred 也將利用下列變更來改變 file2.txt
    File2 is a (Fred was here again)
    with simple text.
    
  3. Fred 在儲存庫中確定了他的變更。
  4. 之後,Jane 同時變更了 file1.txt。她在檔案尾加入了下面這一行:
    This is the contents
    Fred-update
    of file 1.
    Jane was at the end
    
  5. 最後,Jane 將 file2.txt 改成如下:
    File2 is a (Jane was here) small file
    with simple text.
    
  6. 當 Jane 完成變更之後,她將專案同步化,發現「同步化」視圖出現下列內容: 「同步化」視圖和比較編輯器所顯示的衝突
  7. file1.txtfile2.txt 都顯示了紅色圖示,表示它們有衝突的變更。 在衝突解決之前,您無法確定檔案。 請按一下 file1.txt,留意 Fred 和 Jane 變更了檔案的兩個不同的部分。 在這個情況下,Jane 可以簡單地更新檔案,Fred 所加入的行會合併到 Jane 的本端檔案中。 請選取 file1.txt,從快速功能表中選取更新
  8. 之後,按兩下 file2.txt 來查看衝突。 這個情況下,您會發現 Jane 和 Fred 改變了同一行。 對於這類型的衝突變更,正規的更新無法解決衝突。 在這裡,您有三個選項(要用的指令在方括弧裡):接受 Fred 的變更(置換和更新)、忽略 Fred 的變更(標示為合併),或在比較編輯器內手動合併檔案。 顯示衝突的比較編輯器
  9. 對於這個範例,我們假設 Jane 更新了 file1.txt,也更新了 file2.txt 的所選置換和更新。 在執行作業之後,衝突會成為送出變更。 這時 Jane 就可以檢視和確定變更。