跳至內容

說明:編輯衝突

出自陋室
XP-jia​(對話 | 貢獻)2025年11月14日 (五) 15:13的修訂 (update)

在 MediaWiki 中,當多人同時編輯同一頁面並嘗試保存時,就會發生編輯衝突。系統會自動合併一些非衝突的修改,但如果部分內容衝突,就需要手動合併。✏️

🔄 編輯衝突的原理

編輯衝突的本質是MediaWiki對版本控制的需要。具體來說:

  1. 先提交者的更改會正常保存📌,並生成一個新的歷史版本。
  2. 後提交者如果修改了與先提交者內容相互衝突的部分(即修改的內容有重合部分),就會觸發編輯衝突⚠️,需要手動解決衝突後才能保存。

🤖 自動合併

自 MediaWiki 1.28 版本起,系統可以智能判斷是否需要手動解決衝突:

  • ✅ 不會觸發衝突的情況:
  • 兩人編輯行為沒有任何重疊。
  • 後提交者的修改完全包含了先提交者的修改。
  • ❌ 仍然會觸發衝突的情況:
  • 兩個人修改了頁面的相同部分,導致內容衝突。
  • 後提交者的修改會覆蓋先提交者的內容。

🛠️ 手動合併

如果系統無法自動合併,MediaWiki 會顯示一個編輯衝突頁面,幫助您合併不同的版本。

✍️ 如何解決編輯衝突?

  • 您會看到兩個文本框:
  • 上方文本框:顯示當前已成功保存的版本(即其他編輯者的版本)📄。這是系統默認會保存的版本,您需要將您的修改合併到此版本中。
  • 下方文本框:顯示您嘗試保存的版本✏️。
  • 檢查並合併改動:
  • 仔細比較兩個版本,將您在下方文本框中的修改,整合到上方文本框的版本裏。
  • 如果內容衝突,需要手動調整文本,確保不丟失任何人的重要修改。
  • 保存合併後的版本:
  • 完成合併後,確保所有需要的更改都已在上方文本框中,然後點擊「保存更改」✅。

🤝 編輯衝突的協調

處理衝突時,編輯者之間應以友好協商為第一準則。

如何友好地處理編輯衝突? 🤗

  • 小修改 vs. 大修改:
  • 如果您的只是小修改,而別人做了大量修改,建議您基於對方已保存的新版本重新編輯,然後把您的小修改再加進去。
  • 可以在編輯摘要中標註,例如:"因編輯衝突調整了部分內容",以提醒其他編輯者。
  • 大修改 vs. 大修改:
  • 如果雙方都進行了大量修改,問題就比較複雜。雙方都應盡最大努力協商做得更好。例如,可以都先提交自己作出的修改,然後比較兩個版本,一起決定如何整合。
  • 避免覆蓋他人的更改:
  • 不要忽視編輯衝突,直接覆蓋別人的改動是令人無法接受的!🚫
  • 使用「顯示更改」(diff)功能🔍,檢查您所做出的合併,確保包含了之前的必要改動。

🔎 不易察覺的編輯衝突

有時,編輯衝突不會被系統檢測到。例如,如果您喜歡先把原文複製到其他文本編輯器(如Notepad++、Sublime Text等)中修改,完成後再一次性粘貼回Wiki的編輯窗口。如果在此期間有人對這篇文章進行了小修改,那麼您在粘貼時可能會覆蓋這些未被察覺的更改。

📌 如何避免?

  1. 以上述方式編輯的用戶,應在保存後檢查"我的貢獻"或使用"比較版本"功能🔍,查看是否有新的更改,並進行必要的合併。
  2. 更推薦直接在Wiki的編輯框中進行修改,或確保在粘貼回內容前,已檢查並合併了他人可能的修改。

🚨 避免誤刪他人修改

在手動合併時,可能會不小心丟失他人的更改。

  • 如果您發現自己的修改被別人覆蓋了:
最好不要直接将页面"回退"到您的版本,因为这可能会丢失对方做出的大量修改。
较好的做法是在对方的最新版本上进行编辑,将您丢失的小修改重新添加进去,并保留对方所作的大改动。
示例编辑摘要:"重新恢复被意外覆盖的文字"。
  • 如果對方不小心刪除了您的修改:
对方应当为自己的疏忽道歉,并感谢您主动恢复改动。
如果某人频繁丢失他人的修改,可以友好地在他的"讨论页"留言提醒,这对于不了解如何解决冲突的新手尤其重要。

⚡ 預防編輯衝突

🏗️ 使用「正在施工」模板

如果您計劃進行長時間編輯,可以在頁面上添加提示。例如,使用"正在施工"模板🏗️,以提示此頁面正被他人認領編輯,從而減少衝突可能性。

模板代碼示例:

{{正在施工|您的用户名|请多多指教}}

注意:如果認領詞條後並沒有充裕的時間編輯,請及時撤掉"正在施工"模板,以方便其他感興趣的人參與。

📚 參見