我开始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的结帐?”因为“混帐重置”将改变其呈交分支点为它的“小费”,但混帐结账不会。

其他提示

如果您不能肯定在功能工作的任何版本都(提交引入的功能呢?),你似乎失去了平分的好处很多(所有?)。如果你不知道,有至少一个承诺,其中功能性的工作,即使它不一定是最近的提交,其中功能性的工作,只是标志一样好。否则,你基本上做平分自己。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top