0

私は怠け者で、git bisect を使用して、できるだけ少ない作業で失敗を引き起こしたコミットを見つけたいと考えています。

自分で良いハッシュを提供する理由がわかりません。

これらの入力で十分だと思います:

  • 成功すると 0 を返し、失敗するとその他を返すスクリプト
  • git はブランチ上にあります (切り離された頭ではありません)。そしてテストは失敗します

ツール bisect (またはラッパー) は、git 履歴に戻って適切なハッシュ自体を見つけることができます。

質問: これを行うにはどうすればよいですか?

4

2 に答える 2

0

それはまさに bisect が行うことです。

実行するスクリプトを渡すことができ、スクリプトは良いか悪い0かを返します。1

bisect に他に何をしてもらいたいですか?


ドキュメントを読むだけです:

Bisect run

現在のソース コードが良い悪いかを判断できるスクリプトがある場合は、次のコマンドを発行して分割できます。

git bisect run my_script arguments

スクリプト (上記の例では my_script) は、現在のソース コードがgood/oldの場合はコード 0 で終了し、現在のソース コードがbad/newの場合を除き、 ~ の間 (両端を含む)1のコードで終了する必要があることに注意してください。127125

その他の終了コードは、bisect プロセスを中止します。

125現在のソース コードをテストできない場合は、特別な終了コードを使用する必要があります。スクリプトがこのコードで終了すると、現在のリビジョンはスキップされます (上記の git bisect skip を参照してください)。

125この目的で使用する最も適切な値として選択されたのは、 および が特定のエラー ステータスを通知するため126127POSIX シェルによって使用されるためです (127はコマンドが見つからない場合、126はコマンドが見つかったが実行できない場合です。これらの詳細は重要ではありません。 bisect 実行に関する限り、スクリプト内の通常のエラー)。

于 2016-03-02T09:36:35.650 に答える