我有一个可能导致问题的提交ID。在提交id之前,有什么办法可以从git中提取出来吗?
假设abc
是我的提交ID,那么我想在提交ID abc
之前从git中提取。
答案 0 :(得分:2)
git fetch origin {commitID}:refs / remotes / origin / foo-commit
答案 1 :(得分:1)
然后我想在提交id abc
之前从git中提取
当您的分支机构是最新的时,您可以git checkout abc~1
。要切换回来,只需git checkout branch
。
我有一个可能导致问题的提交ID。
那么,您当前的提交已被破坏,您想要追踪问题吗? 我想你也可以看看git bisect。例如:
git bisect start HEAD v1.0.0
Bisecting: x revision(s) left to test after this (roughly x step(s))
HEAD坏了; v1.0.0是您知道的最后一次提交。假设中间是10次提交。 然后Git会自动将你的HEAD分离到第5位(也就是检查提交)。然后,您可以执行一些测试,并告知git提交是好还是坏:
git bisect good/bad
继续这一点,当你把它标记为坏时,git会签出,比如第二次提交,否则是第7次等等。在某些时候,git会告诉你 hash是第一次错误提交。这是一种手动检出提交以跟踪问题的自动方法。也可以运行脚本来测试提交,例如:git bisect run ./test.sh
。可以使用git bisect reset
来中止平分部分。