我如何解释这个git bisect输出?

时间:2013-08-16 13:26:56

标签: git

我运行git bisect在我的代码中发现错误:

Frank:wdi user$ git bisect good 36c1756119c19d4773d008a7ba944f8a9cb35a18
9095710f3e59feb7ad2c8609f4877998e0b5c07c is the first bad commit
commit 9095710f3e59feb7ad2c8609f4877998e0b5c07c
Author: Eric Baldwin <email address>
Date:   Wed Aug 14 12:10:08 2013 -0400

    Commit message

:100755 100755 3502c3b66f26ed6c6031fb2c406933143418b887 efe4970775fb1b35525abfbd9da7ded8a8003d39 M  Gemfile
:100644 100644 f171121bb0cf5f5350636f032b07ebc3e643a271 d2fc157cf2bd0b26c7eac14a65fbd32b5fa5e312 M  Gemfile.lock
:040000 040000 771b9240530ad699dadad1ea3117754b1c927e0a 92659d3a5a4cee031435394f03049a8baa2e1209 M  app
:040000 040000 027677959fac0f3d0efca22c38e69000f19e7f9b eabdc7c09f6a8ef46d6e493bb3511a8c835e7f14 M  spec

我想查看文件的良好版本与文件的错误版本之间的差异,以确定错误的确切含义。我怎么能用这个输出做到这一点?

3 个答案:

答案 0 :(得分:4)

git diff first_bad_commit_hash^ first_bad_commit_hash将显示第一次错误提交与紧接之前提交之间的差异。

在你的情况下,是:

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c^ 9095710f3e59feb7ad2c8609f4877998e0b5c07c

答案 1 :(得分:1)

如果您没有,则应运行git bisect resetHEAD重置为开头的位置。

然后,要查看第一个错误提交和最后一个错误之间的差异,请使用git diff --color 9095710f3e59feb7ad2c8609f4877998e0b5c07c 36c1756119c19d4773d008a7ba944f8a9cb35a18

答案 2 :(得分:1)

git说回归来自commit-id 9095710f3e59feb7ad2c8609f4877998e0b5c07c

所以,您可以通过以下方式查看9095710f3e59feb7ad2c8609f4877998e0b5c07c中的更改内容:

git show 9095710f3e59feb7ad2c8609f4877998e0b5c07c

或与实际HEAD的区别

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c HEAD

依旧......