我正在寫一個腳本,執行二進制搜索來指定破損測試的責任。我正在使用git rev-list --bisect
。如何讓git rev-list --bisect跳過特定的提交?
我想排除構建被破壞的具體提交。 git bisect
有一個選項可以做到這一點,git bisect skip BROKENCOMMIT
。但是,我找不到使用git rev-list --bisect
做同樣事情的等效方法。有一個嗎?
謝謝!
我正在寫一個腳本,執行二進制搜索來指定破損測試的責任。我正在使用git rev-list --bisect
。如何讓git rev-list --bisect跳過特定的提交?
我想排除構建被破壞的具體提交。 git bisect
有一個選項可以做到這一點,git bisect skip BROKENCOMMIT
。但是,我找不到使用git rev-list --bisect
做同樣事情的等效方法。有一個嗎?
謝謝!
不幸的是,沒有辦法告訴git rev-list --bisect
跳過某些提交。
git bisect
通過創建名爲refs/bisect/skip-*
的引用實現跳過。好的和壞的承諾存儲在refs/bisect/bad
和refs/bisect/good-*
。該git rev-list --bisect
命令看起來refs/bisect/bad
和refs/bisect/good-*
,但由於某種神祕原因不注意refs/bisect/skip-*
。這似乎是Git郵件列表的一個好建議。
相反的rev-list --bisect
,你可以使用git bisect start --no-checkout
,使用git bisect skip
添加要跳過的提交,然後使用BISECT_HEAD
參考。這種方法的一個缺點是git bisect
不允許你指定參考名稱空間,所以如果有一個現有的平分正在進行,你會覆蓋它。
git rev-list提供了基於作者,提交者,日期和描述排除提交的選項。爲什麼哦爲什麼它沒有一個選項來排除基於散列的提交? – dnw 2012-03-30 14:54:42
我結束了剛剛運行git rev-list,獲取提交的完整列表,然後手動執行所有其他操作。 – dnw 2012-03-31 02:11:37