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