處理衝突的變更
有時候會有兩位使用者編輯相同檔案,當第二位使用者在儲存庫中進行確定,試圖確定變更時,因為發生衝突,儲存庫不會讓確定順利完成。
我們讓 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)
small file
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 就可以檢視和確定變更。