回到Bazaar的旧版本

knu*_*nub 31 version-control dvcs bazaar vcs-checkout

我想回到我的集市历史(更改工作树)来查找引入某个bug的提交.

我不想删除任何提交,只是更改我的工作树,直到我找到错误,然后我想回到最新版本继续工作.

这两个命令是什么(回到之前的提交,然后再次检查最新版本)?

提前致谢.

jel*_*mer 22

要将工作树还原为特定版本N:

bzr revert -rN
Run Code Online (Sandbox Code Playgroud)

要将工作树还原为分支中的最新修订版:

bzr revert
Run Code Online (Sandbox Code Playgroud)


Don*_*kby 16

有两种方法可以将您的工作树及时恢复到修订N.第一种方法已经在其他答案中提到:

bzr revert -rN
Run Code Online (Sandbox Code Playgroud)

这将修改使工作树与修订版N的内容匹配所需的所有文件.如果运行bzr status它将显示所有这些文件已更改.如果你运行bzr commit那么所有这些后向更改都将被提交,你的HEAD修订现在看起来像修订版N.

要回到分支中的最新版本:

bzr revert
Run Code Online (Sandbox Code Playgroud)

您也可以运行bzr update,但如果您的分支是结帐,则可能会获得一些较新的修订.

回到过去的另一个选择是:

bzr update -rN
Run Code Online (Sandbox Code Playgroud)

两者之间的区别在于bzr update它看起来好像没有做出任何改变.只是你的工作树已经过时了.

要回到分支中的最新版本:

bzr update
Run Code Online (Sandbox Code Playgroud)


rob*_*bru 5

回答的其他评论者bzr revert -rN肯定是正确的,因为从某种意义上说,这是对问题的直接答案,但是,如果您要检查大量提交以测试是否存在错误,则是使用二等分的效率大大提高。有一次我遇到了一个错误,该错误的最后一次已知的良好提交是在300次提交之前,而bisection仅在8次通过中发现了有罪的提交(我的意思是,我只需要检查300次中的8次提交才能找到一个提交)引入了该错误)。

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

如果您对需要检查的可能提交次数感到不知所措,则可以大大减少所需的工作量!