2

新しい機能がローカルでは問題なく動作しているのに、新しいファイルを追加するのを忘れたために展開すると機能しなくなるという、つらい瞬間を誰もが経験したことがあります。

実行時に git に警告を表示したり、新しいファイルを自動的に追加したりする方法はありますgit commit -aか?

4

2 に答える 2

3

このようなpre-commitフックは、残りのファイルについて警告する必要があります。

#!/bin/bash
. git-sh-setup # for 'die' cmd
git status --porcelain | while IFS= read -r line;
do
         if [[ $line == \?\?* ]] ; then # if the file begins with ?? it's untracked by git
                die "Uncommited files left!" # this will always terminate commit
                # say "Uncommited files left!" # this will just print the warning
         fi
done

これをリポジトリのプリコミットフックとボイルに追加するだけです:)

編集: HudsonやBuildbotなどの継続的インテグレーションツールキットの使用も検討する必要があります。不足しているファイルを探すよりもはるかに包括的なチェックを実行できます:)

EDIT2:残念ながら、ループ内で読み取りを使用することに成功しなかったため、このフックにアクションを要求させることはできない可能性があると思います。

于 2012-06-07T12:59:51.193 に答える
1
git config --global alias.commita '!git add . && git commit -a'

その後、次を使用します。

git commita ..

の代わりにgit commit -a。これにより、新しいファイルも追加されます。

于 2012-06-07T13:22:01.240 に答える