Version control 回到旧版本的集市

Version control 回到旧版本的集市,version-control,dvcs,bazaar,vcs-checkout,Version Control,Dvcs,Bazaar,Vcs Checkout,我想回到我的bazaar历史记录(ChangeWorking tree)中,找到引入某个bug的提交 我不想删除任何提交,只要更改我的工作树,直到我发现错误,然后我想回到最新的修订工作 这两个命令是什么(返回到以前的提交,然后再次检查最新版本) 提前感谢。将工作树更改为以前版本中的状态N bzr revert -r N 要将工作副本更新为其在最新版本中的状态,请执行以下操作: bzr up 要将工作树恢复到特定的修订版本,请执行以下操作: bzr revert -rN 要将工作树还原为分支

我想回到我的bazaar历史记录(ChangeWorking tree)中,找到引入某个bug的提交

我不想删除任何提交,只要更改我的工作树,直到我发现错误,然后我想回到最新的修订工作

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


提前感谢。

将工作树更改为以前版本中的状态N

bzr revert -r N
要将工作副本更新为其在最新版本中的状态,请执行以下操作:

bzr up

要将工作树恢复到特定的修订版本,请执行以下操作:

bzr revert -rN

要将工作树还原为分支中的最新版本,请执行以下操作:

bzr revert

有两种方法可以将您的工作树及时带回修订版N。第一种方法已在此处的其他答案中提到:

bzr revert -rN
这将修改所有必要的文件,使您的工作树与修订版N的内容匹配。如果运行
bzr status
,它将显示所有已更改的文件。如果您运行
bzr commit
,那么所有这些向后的更改都将被提交,您的头部修订现在看起来就像修订版N

要返回到分支中的最新版本,请执行以下操作:

bzr revert
bzr update
您还可以运行
bzrupdate
,但如果您的分支是签出分支,则可能会得到一些更新的版本

时光倒流的另一个选择是:

bzr update -rN
两者之间的区别在于,
bzrupdate
使它看起来好像没有做任何更改。只是你的工作树已经过时了

要返回到分支中的最新版本,请执行以下操作:

bzr revert
bzr update

bzr revert-rN
回答问题的其他评论者肯定是正确的,因为这是对问题的直接回答,但是如果您需要检查大量提交以测试是否存在错误,那么使用二分法会更有效。有一次,我看到一个bug,其中最后一个已知的良好提交是在300次提交之前,而Disection仅在8次传递中就发现了有罪的提交(我的意思是,我只需检查300次提交中的8次,就可以找到引入该bug的提交)

如果你对需要检查的可能提交的数量感到不知所措,这将大大减少所涉及的工作量

您可以使用bzr log--forward来查看您以前使用DESC排序的版本

您可以使用bzr revert-r将您的版本更改为


如果您想恢复到上一个版本,只需执行bzr revert

我从未使用过Bazaar,但在SVN中,您提到的操作是“更新到版本”和“更新到头部”。如果在巴扎的相关命令使用相似的语言,这会使BZR认为您的工作树发生局部更改,而<>代码> BZR责怪< /代码>,这不符合我的预期。代码>bzr更新-r来自Don的回答,这是一种纯粹的考古学,它的形式是“找到引入某个bug的提交”。使用
bzrupdate-r
和使用
bzr
following进行跟踪可以更好地完成重命名和重构。