0

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

4

1 回答 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 回答