题
我开始git bisect
会话时通常工作流程是:
git bisect start # start a bisect session
git bisect bad # I noticed that the current state is broken
现在,我常常知道事情在过去的工作,但是我还不知道哪个版本是很好,所以我通常要恢复我的工作树到旧的状态,构建,测试,重复,直到我找到一个工作版本,我可以与git bisect good
标记。
什么是应该做的“恢复我的工作树到旧状态”的步骤最好的方法是什么? git reset --hard <some_good_rev>
? git checkout <some_good_rev>
?别的东西?请证明你的答案。
解决方案
我通常不知道哪里好REV的话,所以我一定要找到它。猜猜如何追溯到可能是很好的。比方说,32转数。从一个分支的末端开始,并用干净的工作目录:
$ git checkout HEAD~32
运行测试。如果它是一个很好的转,开始平分。如果不是,回去一些:
$ git checkout HEAD~32
冲洗,泡沫,重复。
为什么 “git的结帐?”因为“混帐重置”将改变其呈交分支点为它的“小费”,但混帐结账不会。
其他提示
如果您不能肯定在功能工作的任何版本都(提交引入的功能呢?),你似乎失去了平分的好处很多(所有?)。如果你不知道,有至少一个承诺,其中功能性的工作,即使它不一定是最近的提交,其中功能性的工作,只是标志一样好。否则,你基本上做平分自己。
不隶属于 StackOverflow