私は、リリースプロセス(gitリポジトリから中央リリース領域へ)をセットアップするためのオートメーションを書いています。ローカルブランチがリモートと同じでない場合、gitコマンドが非ゼロを返す
スクリプトは作業ディレクトリ(ローカルクローン)とタグを入力として受け入れます。それは、作業ディレクトリにに移動され、引っ張られたり、押されたり、解決されたりするような変更がないことを確認します。タグを作成し、タグをリモートに押します。スクリプトの残りの部分は、リモートから宛先ディレクトリにまっすぐにタグをアーカイブするだけです。
上記の太字のステップを自動化するgitコマンドはありますか? localがリモートと絶対的に同じでない場合、その時点でスクリプトを停止することができるように、ゼロ以外のコードを返すコマンドもあります。
は、多分あなたは、出力を解釈するためにSEDか何かでgitの桜を使用することができますでしょうか? – Basya
私は過去に 'git status --porcelain --branch'を使用しました。現代のgitバージョンでは、 'git status --porcelain = v2 -branch'がより簡単になります。 – rodrigo
ブランチで "git diff"を実行し、出力をunix "wc -l"コマンドにパイプすることができます。 0のカウントは変更がないことを意味し、0以外のカウントはプッシュする変更があることを意味します。 – user376507