我开始git bisect会话时的常用工作流程是:
git bisect start # start a bisect session
git bisect bad # I noticed that the current state is broken
Run Code Online (Sandbox Code Playgroud)
现在,我经常知道过去的事情是有效的,但我不知道哪个版本是好的,所以我通常想把我的工作树恢复到较旧的状态,构建,测试,重复直到我找到一个工作版本我可以用git bisect good.
什么是"将我的工作树恢复到较旧状态"步骤的最佳方法?git reset --hard <some_good_rev>?git checkout <some_good_rev>?别的什么?请证明你的答案.
我通常不知道好转的位置,所以我必须找到它.猜猜回来可能有多好.比方说,32转.从分支的尖端开始,并使用干净的工作目录:
$ git checkout HEAD~32
Run Code Online (Sandbox Code Playgroud)
运行测试.如果它是一个好转,开始平分.如果不是,请再回过头来看看:
$ git checkout HEAD~32
Run Code Online (Sandbox Code Playgroud)
冲洗,起泡,重复.
为什么"git checkout?" 因为"git reset"会改变分支指向哪个提交作为其"提示",但git checkout不会.
| 归档时间: |
|
| 查看次数: |
123 次 |
| 最近记录: |