如何通过集市删除主分支中的版本?

时间:2013-05-22 06:14:38

标签: bazaar

我在服务器上有一个主分支(launchpad.net)。我想删除最后一个版本,但不确定如何实现。谢谢!

1 个答案:

答案 0 :(得分: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是一个危险的功能,应谨慎使用。

注意:我不熟悉启动板;出于安全原因,默认情况下,启动板可能已禁用此功能,并且/或者可能使用其他工具来启用/禁用此功能。