エラーのマージやリベースエラーのように。固有のエラーコードがありますか?
回答:
失敗するテストを設定しました。これは私が得たものです:
$ git merge newbranch
Auto-merging test.txt
CONFLICT (content): Merge conflict in test.txt
Automatic merge failed; fix conflicts and then commit the result.
$ echo $?
1
0
期待どおり、Gitは正しくマージされると戻ります。
&&
;を使用すると、いつでもコマンドを安全に連鎖させることができます。それが彼らのテストが実装される方法です。
git rebase
同じ動作が?
要するに、いいえ。エラーの場合は終了コード1が表示され、成功の場合は0が表示されます。
ソースの簡単なgrepから、特定の目的(コマンドが見つからない、エラーはすでに報告されている)で予想される127と128のいくつか、およびいくつかの場所にいくつかの異常なコードがありますが、ミルエラーの実行では、すべてexit(1)
。
man
ページを参照してください。
Git 2.24(2019年第4四半期)は、git
コマンドがコードを返す方法を示しています。
参照50094caをコミットし、c1a6f21をコミットし、854b5cbをコミットし、dd2b6b6コミット、6bd26f5をコミットし、c6ec6daをコミットし、f2e2fa8をコミットし、460609cコミット、92014b6をコミットし、0ab74e9をコミットし、cb46c40コミット、b562a54コミット(2019年08月27日)、およびfe49814コミット(2019年08月20日)デントン劉(Denton-L
)によって。
(合併によりJunio C浜野- gitster
-で1c6fc94コミットし、2019年9月30日)を
t4014:gitコマンドの戻りコードの損失を停止します
現在、Gitコマンドの戻りコードが失われる方法は2つあります。
最初の方法は、コマンドがパイプの上流にある場合です。パイプでは、最後のコマンドの戻りコードのみが使用されます。したがって、他のすべてのコマンドの戻りコードはマスクされます。
上流にGitコマンドがないようにパイプを書き直します。もう1つの方法は、コマンドが非割り当てサブシェルにある場合です。
戻りコードは失われ、周囲のコマンドが優先されます。
このインスタンスを書き直して、Gitコマンドがファイルに出力し、周囲のコマンドが非Gitコマンドでサブシェルのみを呼び出すようにします。
したがって、書く代わりに:
git cat-file commit rebuild-1 | grep "^Side .* with .* backslash-n"
タイプ:
git cat-file commit rebuild-1 >actual &&
grep "^Side .* with .* backslash-n" actual
git merge
(1.7.4で- kernel.org/pub/software/scm/git/docs/v1.7.4/git-merge.htmlは)あなたが使用している場合のみ、「(一つの場所に戻り状態に言及します- -FF-のみ」と、それはコミット早送り行うことができない、それは非ゼロを返します-それは明示的に場合に返されるものすべての作品を言っていないか、マージ競合が発生した場合。