2015-03-13 81 views
1

全部,Git對分錯誤結果

我正在使用git bisect來查找linux引導失敗的錯誤提交。

而目前已知的錯誤提交是:

commit 0f3f4fef3520fe888303886b62224bac7a837cac 
Author: Darren Hart <[email protected]> 
Date: Mon Mar 2 09:06:39 2015 -0800 

Add manifest for 2015-03-02 

好已知的承諾是:

commit 857a433072364883be5e4a7e30b895360999c8ab 
Merge: d6182fe 0e28b83 
Author: Darren Hart <[email protected]> 
Date: Mon Feb 23 17:11:35 2015 -0800 

Merge commit '0e28b83bcbf60b2485f55ec71ce540f9153725d4' 

因此I型:

[[email protected] linux]# git bisect start 
[[email protected] linux]# 

[[email protected] linux]# git bisect good 857a433072364883be5e4a7e30b895360999c8ab 

[[email protected] linux]# git bisect bad 0f3f4fef3520fe888303886b62224bac7a837cac 
Bisecting: a merge base must be tested 
[c517d838eb7d07bbe9507871fab3931deccff539] 
Linux 4.0-rc1 

並且測試提交ID爲:

[[email protected] linux]# git log 
commit c517d838eb7d07bbe9507871fab3931deccff539 
Author: Linus Torvalds <[email protected]> 
Date: Sun Feb 22 18:21:14 2015 -0800 

Linux 4.0-rc1 

這是未來的良好的承諾:

commit 857a433072364883be5e4a7e30b895360999c8ab 
Date: Mon Feb 23 17:11:35 2015 -0800 

我覺得平分永遠不會找到壞提交。

我會錯過什麼嗎?

感謝

回答

1

我想我已經得到了答案,它是由git的重訂造成的:

假設以下的歷史存在,當前分支是「主題」:

 A---B---C topic 
    /
D---E---F---G master 

從這一點,以下命令的結果:

git rebase master 

將是:

   A'--B'--C' topic 
      /
D---E---F---G master 

於是,B消失了。如果B是一個很好的提交和重訂後,我們發現,C」是一個錯誤提交,下面的命令:

git bisect start 
git bisect good B 
git bisect bad C' 

會產生B之前測試提交,例如:電子。