ローカル Git リポジトリに変更があった場合、Bash スクリプトでチェックインするにはどうすればよいでしょうか? 質問する

ローカル Git リポジトリに変更があった場合、Bash スクリプトでチェックインするにはどうすればよいでしょうか? 質問する

変更をチェックすると正しく動作しないスクリプトがいくつかあります。

私は次のように試しました:

VN=$(git describe --abbrev=7 HEAD 2>/dev/null)

git update-index -q --refresh
CHANGED=$(git diff-index --name-only HEAD --)
if [ ! -z $CHANGED ];
    then VN="$VN-mod"
fi

最後のコミット以降に変更があったかどうかをブール値でチェックする機能はありますか? または、ローカル リポジトリに新しい変更があったかどうかを実際にテストするにはどうすればよいでしょうか?

私はバージョン作成スクリプト(ここでどこかで見つけたもの)のためにこれをすべて行っています。

ベストアンサー1

使用git status:

cd /git/directory
if [[ `git status --porcelain` ]]; then
  # Changes
else
  # No changes
fi

おすすめ記事