我在服务器上有一个主分支(launchpad.net)。我想删除最后一个版本,但不确定如何实现。谢谢!
答案 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
是一个危险的功能,应谨慎使用。
注意:我不熟悉启动板;出于安全原因,默认情况下,启动板可能已禁用此功能,并且/或者可能使用其他工具来启用/禁用此功能。