git commit
;を実行するファブリックスクリプトを作成しようとしています。ただし、コミットするものがない場合、gitはステータスが1
。で終了します。デプロイスクリプトはそれを失敗と見なし、終了します。実際のコミットの失敗を検出したいので、git commit
失敗をファブリックに完全に無視させることはできません。空のコミットの失敗を無視してデプロイを続行できるようにするにはどうすればよいですか?それでも実際のコミットが失敗したときに発生したエラーをキャッチできますか?
def commit():
local("git add -p && git commit")
git diff
は「磁器」コマンドであり、スクリプトには使用しないでください。あなたがおそらく欲しいのはgit diff-index --quiet HEAD || git commit -m 'bla'
です。この回答も参照してください。