我在服务器(launchpad.net)上有一个主分支。我想删除最后一个不好的版本,但不知道如何实现。谢谢!
问问题
67 次
1 回答
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
这是一个危险的功能,应该谨慎使用。
注意:我不熟悉启动板;出于安全原因,启动板可能默认禁用此功能和/或可能使用其他工具启用/禁用它。
于 2013-05-22T12:58:02.883 回答