2013-08-16 5 views
3

git bisect Я побежал, чтобы найти ошибку в своем коде:Как интерпретировать этот вывод 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

git diff first_bad_commit_hash^ first_bad_commit_hash покажет вам разницу между первой плохой фиксацией и фиксацией непосредственно перед этим.

В вашем случае это было бы:

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c^ 9095710f3e59feb7ad2c8609f4877998e0b5c07c

+0

'git log -p - 1 first_bad_commit' был бы разумной альтернативой этому, а также ... – twalberg

+0

В последние несколько часов я закончил тем, что использовал '' 'много. Это очень полезно –

+0

'git show first_bad_commit' также работает – Flimm

1

Если вы не делали, вы должны запустить git bisect reset сбросить HEAD, где это было в самом начале.

Затем, чтобы увидеть разницу между первым плохой фиксацией и последним хорошим, просто используйте git diff --color 9095710f3e59feb7ad2c8609f4877998e0b5c07c 36c1756119c19d4773d008a7ba944f8a9cb35a18.

+0

Это имеет смысл, спасибо –

+0

Обратите внимание, что вам не нужно копировать весь хэш - первые несколько символов будут выполняться, если результат уникален в вашем репозитории , –

+0

@EricBaldwin Необычно, что вам нужно было бы отличить что-то другое, кроме первого плохого коммита, и фиксации непосредственно перед ним, потому что вы хотите увидеть, какие изменения были внесены в плохую фиксацию, которая могла сломать ваш код. [Даниэль ответ] (http://stackoverflow.com/questions/18274457/how-do-i-interpret-this-git-bisect-output/18274685#18274685), таким образом, лучший подход. –

1

мерзавец говорит, что регрессия происходит от 9095710f3e59feb7ad2c8609f4877998e0b5c07c фиксации-ид

так, вы можете посмотреть, что изменилось в 9095710f3e59feb7ad2c8609f4877998e0b5c07c с:

git show 9095710f3e59feb7ad2c8609f4877998e0b5c07c 

или что отличается от фактической РУКОВОДИТЕЛЯ с

git diff 9095710f3e59feb7ad2c8609f4877998e0b5c07c HEAD 

и т. Д.

Смежные вопросы