我怎样才能回去测试哪些东西坏了?

时间:2012-07-09 06:08:25

标签: git

我想回到之前的提交并运行我的程序,直到我发现某些内容破坏而没有删除或影响我的提交。一旦我找到它工作的最后一次提交,我就可以看到是什么改变了返回当前提交并修复它。

我该怎么做?

3 个答案:

答案 0 :(得分:5)

您应该尝试使用git bisect。此功能允许您在提交中进行二进制搜索。当事情仍然很好时,你选择一个提交,当事情被破坏时你提交,然后从那里开始。

查看此页面以获取教程:

http://www-cs-students.stanford.edu/~blynn/gitmagic/ch05.html

(搜索“一切都搞错了?”)

答案 1 :(得分:5)

Git为此提供了正确的命令:git bisect。它将执行二进制搜索,并允许您标记每个经过测试的提交goodbad

使用以下命令启动bisect程序:

git bisect start HEAD <last good commit>

然后构建你的源代码,运行它,检查错误,最后标记它:

git bisect good # or:
git bisect bad

如果您无法测试提交(构建损坏等),请使用git bisect skip跳过它。

直到找到第一个错误的提交为止。要返回原始提交,请运行git bisect reset

答案 2 :(得分:2)

如果您只想返回一些提交测试,您可以执行:git checkout SHA