8

次のような git エイリアスを設定します。

git config --global alias.popmerge '!git stash pop && git merge master'

次に、次のように呼び出します。

git popmerge

git stash pop」は実行されますが、「git merge master」は無視されます。

「 git popmerge 」の直後に「git merge master 」を実行すると、期待どおりに実行され、マージが実行されます。

コマンドの長いシーケンスを持つ他のエイリアスがあります...そしてそれらは問題なく動作します。「 git stash pop 」で何かがエイリアスプロセスを停止させているようです...この動作を回避することは可能ですか? どのように?

ありがとう。

4

1 に答える 1

8

stash pop からの終了コードを確認しましたか?

&&exitcode が 0 (成功) の場合にのみ、後続のリストが実行されることを意味します。

代わり;&&.


次のようなものを使用して成功を確認します。

true  && echo ok || echo fail   # echoes "ok"

false && echo ok || echo fail   # echoes "fail"
于 2011-05-25T15:27:43.400 に答える