衝突
概覽
Nextcloud 桌面客戶端會上傳本機變更並下載遠端變更。當檔案在本地端和遠端同步執行之間發生變更時,客戶端無法自行解決問題。它會與本機版本建立衝突檔案,下載遠端版本,並通知使用者發生衝突需要注意。
範例
想像您的同步資料夾中有一個名為 mydata.txt
的檔案。它已經有一段時間沒有變更了,並包含本機和遠端「內容」文字。現在,幾乎在同一時間,您在本機更新為「本機內容」,而伺服器上的檔案卻被其他人更新為包含「遠端內容」。
當嘗試上傳您的本機變更時,桌面客戶端會注意到伺服器版本也已變更。這會造成衝突,您的本機現在會有兩個檔案:
mydata.txt
包含「遠端內容」mydata (conflicted copy 2018-04-10 093612).txt
包含「本機內容」
在這種情況下,mydata.txt
檔案會有遠端變更(並會在遠端變更發生時持續更新),但您的本機調整並未傳送到伺服器(除非伺服器啟用衝突上傳,請參閱下文)。
桌面客戶端會透過系統通知、系統匣圖示與帳號設定視窗中的黃色「未解決衝突」徽章通知您這種情況。按一下此徽章會顯示包含未解決衝突的清單,按一下其中一個會開啟一個檔案總管視窗,指向相關檔案。
要解決此衝突時,請開啟兩個檔案,比較兩者的差異,並在適用的情況下,將您在「衝突副本」檔案中的本機變更複製到基本檔案中。在這個範例中,您可以將 mydata.txt
改為「本機與遠端內容」,並刪除名稱中包含「衝突副本」的檔案。這樣,衝突就解決了。
上傳衝突(實驗性)
預設情況下,衝突檔案(名稱中含有「衝突副本」的檔案,包含您本機的衝突變更)不會上傳到伺服器。這樣做的目的是,您作為變更的作者,是解決衝突的最佳人選,向其他使用者顯示衝突可能會造成混亂。
不過,在某些情況下,上傳這些衝突的變更是很有意義的,這樣即使衝突不會立即解決,本機工作也能變得可見。
將來可能會有一個伺服器範圍的開關來處理這個行為。目前已可透過設定環境變數 OWNCLOUD_UPLOAD_CONFLICT_FILES=1
來測試。