說明:編輯衝突
由於系統更新,本頁的資料可能已過時,最新說明請務必參看m:Help:Edit conflict。
本頁用來解釋編輯衝突,並給出處理方法。下面用一個例子來說明。請考慮這樣的情況:
- 甲在一個頁面上點擊了「編輯」。
- 在甲編輯的時候,乙同時在同樣的頁面上也點擊了「編輯」。
- 甲完成了他的修改,並單擊「發佈變更」。這個頁面用他編輯的版本保存。
- 乙完成了她的修改,並單擊「發佈變更」。這時只能看到顯示「編輯衝突」的頁面。
編輯衝突頁面的大致版面
[編輯]在頁面的最頂部是甲編輯的全部版本,哪怕乙正在做部分節的編輯。
在頁面的最下方是乙打算提交的文字,如果乙編輯的是整個頁面,其所提交的文字就會成為乙編輯的全部版本,如果乙編輯的只是一小節,那麼其所提交的文字就會成為乙編輯的一小節的版本。
在頁面的中間是兩人編輯的不同處,但如果乙只編輯了一小節,會顯示乙的編輯改變和甲的改變,除非兩人編輯的改變相同。
乙可以編輯頂部的文字並保存,但會造成重複,還需要刪除重複部分,所以最好是只保存自己編輯的頁面。
如果保存時系統反應太慢,您也許會在保存前又有一些新編輯,再保存,也會產生自己和自己的編輯衝突,這時頂部顯示的是前一次保存前編輯的頁面,所以還需要像前面一樣再保存後一次編輯。
如何解決編輯衝突
[編輯]如果乙只做了一些小修改,而甲做出大的修改,乙可以選擇在甲已經編輯過的版本上進行編輯,然後把自己的修改文字再合併進去。乙可能增加一些文字諸如「因編輯衝突修改過」去提醒甲和其他人,說明他不得不這麼做——然後,甲就可以回顧乙合併的內容。
如果乙作出了大量的修改,而甲修改的內容相對較少,乙可以繼續在自己的版本中修改。作為可選的,乙還可以把頁面最底部的文字複製到頂部(如果甲只編輯了一節,那麼只複製那一節即可),最好再加上一個適當的編輯摘要(如「因編輯衝突修改過,將被合併」)。這樣,乙可以在歷史頁面中查看頁面甲的修改,再把甲修改過的內容合併到她的版本。
如果乙和甲都進行了大量修改,問題就有點複雜了,乙和甲只能盡他們的最大努力做得更好。比如說,如果乙和甲同時對同一主題增加了一大段自己的文字,那麼乙和甲最好是都先提交自己所作出的修改,然後再看看比較比較兩個版本,然後兩個一起決定究竟哪個版本更好。
乙不應該只把自己的修改提交後就不管了。在這裏,我們假設大家都是好心的——但錯誤有時候是難免的,並且新來者可能不明白這種編輯衝突的版面。然而,乙不能每次都忽略這種編輯衝突。如果乙因為懶得管而把甲所作出的修改的版本覆蓋,這樣做是絕對不能令人接受的。我們鼓勵各位做貢獻的維基人使用比較不同點功能,多多檢查一下他們所做出的合併。
不容易發現的編輯衝突
[編輯](還有一種無法被當前wiki程序檢查到的編輯衝突,因此系統也無法發送「編輯衝突」的消息。)
有些人喜歡這樣編輯:
- 先把原文複製並粘貼到其他的文本編輯器中進行修改
- 對原文進行了很多更改(對文章結構進行重新組織、添加了新的內容等)。
- 然後,在他完成編輯之後,將整篇文章一次性粘貼回本網站的編輯窗口。
如果在此之間有人對這篇文章進行了小修改,那麼在粘貼回之前,這些小修改將會丟失。因此,以拷貝到其他文本編輯器中進行修改的方式來編輯文章的用戶,應該在保存後檢查兩個版本之間的不同,並且進行必要的合併。
不小心造成的錯誤
[編輯]有時候甲在合併不同版本文章的過程中會發生錯誤。因為人人都會犯錯,這樣就可能導致乙所作出的修改意外丟失。那種不容易發現的編輯衝突也不會立即可以看到。也有可能有時候甲會有充分的理由覺得鮑勃的修改不是很有用,在這種情況下,我們期望甲乙雙方能友好地解決他們之間的不同意見。
如果甲只作出小修改,而被乙意外地弄丟了,那麼甲不能「恢復(或者說回退)」到她的版本。如果甲將乙所作出的很大的修改的頁面回退到自己的小修改的版本,以此來作為對自己的肯定或者對乙粗心的懲罰,這是絕對讓人無法接受的。尤其是這個頁面又已經被其他人,如丙或丁已經又修改過。
對甲來說,這種情況下最好的辦法是在乙的版本上進行編輯,將自己的小修改再加進去,然後保持乙所作的大的改動。如果可能的話,她也可以加上一些編輯摘要說明自己不得不這麼做——例如:「重新恢復被搞丟了的文字」等。對乙而言,他應當為自己的疏忽向甲道歉,並且感謝甲主動恢復改動。
但是,如果乙經常出現這樣的錯誤,對甲來說,較好的解決辦法是在乙的「討論頁」面中友好地留言,並且友好地詢問其能否在以後的編輯中稍微留意一下。這對根本不了解適當的方法以解決編輯衝突的新手來說尤其重要,更不用說即使是那些老手也希望別人善意地提醒自己。
回退時候的衝突
[編輯]當保存一個先前的版本(亦即當回退的時候),或者在發生編輯衝突警告時,對被編輯過的版本的新的改動進行保存,以及在此期間可能又有新的非故意的回退作出的改動,這一切都可能出現編輯衝突。為了避免這種問題,可以從早先版本的編輯框中複製文本到最新的版本中。在某些意義上,這樣又可能導致隱藏的編輯衝突:您可能沒有意識到您現在所作的會覆蓋其他人的更改。較為明智的做法是每次回退以後都對不同版本進行比較,就像系統提醒您有編輯衝突一下。最好是大家都儘量避免編輯戰。
回退
[編輯]當保存一個以前的版本(即恢復時)或基於一個新的版本(修改後的回歸)的編輯衝突預警和預防系統未觸發,在此期間做了一個可能的新的編輯無意中也恢復,請參閱維基百科:如何恢復頁面到較早的版本。為了避免這個問題,可以從舊版本的編輯框中的文本複製到最新版本的編輯框。在某種意義上,這可能會導致隱藏編輯衝突:您可能會覆蓋其他人的更改,而沒有意識到您正在這樣做。它總是明智的執行復歸後檢查差異,就如同通過編輯衝突後發佈。優選地,一個可以簡單地盡量避免復歸戰爭。
如何預防
[編輯]因為編輯衝突既惱人又費時,因此您可能改變您的編輯習慣——編輯那些不常被編輯的頁面:致力於那些最近一直沒有被編輯的頁面,比如說那些在老頁面中列出的頁面。
另外一種預防編輯衝突的意思是指,一次性作大的修改而不是經常小小地修改一些頁面:如果經常對頁面進行小修改,您很容易遇到編輯衝突。
適當的使用{{Inuse}}的模板佈告也會有幫助。
維基百科當前的版本已經包含了自動合併功能,因此編輯衝突的界面僅會在兩個用戶編輯同一行時出現。