4

我跑去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

我想查看文件的好版本和文件的坏版本之间的差异,以确定错误到底是什么。我怎么能用这个输出做到这一点?

4

3 回答 3

4

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

在你的情况下是:

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c^ 9095710f3e59feb7ad2c8609f4877998e0b5c07c

于 2013-08-16T13:38:06.117 回答
1

git说回归来自commit-id 9095710f3e59feb7ad2c8609f4877998e0b5c07c

因此,您可以使用以下命令查看 9095710f3e59feb7ad2c8609f4877998e0b5c07c 中的变化:

git show 9095710f3e59feb7ad2c8609f4877998e0b5c07c

或与实际 HEAD 有什么不同

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c HEAD

等等..

于 2013-08-16T13:40:53.607 回答
1

如果没有,您应该运行git bisect reset以重置HEAD到开始的位置。

然后,要查看第一次错误提交和最后一次正确提交之间的差异,只需使用git diff --color 9095710f3e59feb7ad2c8609f4877998e0b5c07c 36c1756119c19d4773d008a7ba944f8a9cb35a18.

于 2013-08-16T13:38:52.637 回答