2013-05-22 62 views

回答

2

有兩種方法可以完成此目標,無論是否修改歷史記錄。不修改歷史記錄更安全(如果與其他人共享資源庫,通常會推薦),但會創建一個醜陋的「反向」修訂版。要做到這一點,請執行以下操作:

bzr merge -r last:1..last:2 . 
bzr commit 

這將創建一個新的修訂版,通過反向選擇反轉前一個版本的效果。

如果您願意修改歷史記錄 - 可能看起來更乾淨,但可能會破壞合作伙伴依賴的歷史記錄 - 您可以使用覆蓋現有分支。這要求分支未被配置爲僅允許附加(即,當您執行bzr init --append-revisions-only時會發生什麼)。

然後,您可以使用bzr push --overwrite用本地副本替換現有的分支。

要刪除修訂版本,您可以在本地使用bzr uncommit來擺脫錯誤的修訂版,然後推送沒有錯誤修訂版的分支。

但是,我建議你小心,如果這個知識庫與其他人共享。修改歷史通常是危險的,更糟糕​​的是,如果您意外刪除了過多的歷史記錄,從而失去了工作。在覆蓋主分支之前備份主分支是個好主意。

您可以使用:

bzr -d <branch> append_revisions_only=True 

,以保護您的分支防止意外覆寫。同樣,您可以使用:

bzr -d <branch> append_revisions_only=False 

允許覆蓋。

一般而言,bzr push --overwrite是一個危險的功能,應謹慎使用。

注:我不熟悉啓動板;由於安全原因,啓動板可能會默認禁用此功能,並且/或者可能使用其他工具來啓用/禁用它。

+0

'bzr revert -r last:2'更清潔並且與bzr合併-r last:1..last:2完全一樣的東西# – janos

+1

是的,但是反向選擇更爲一般,因爲它可以是用於除最後一個之外的修訂。 –

相關問題