240

コードをビルドするときに自動的に変更される追跡ファイルがリポジトリにあります。追跡を解除したくないし、変更されたように表示したくないし、gitadd時にステージングしたくないだけです。

これは可能ですか?

4

3 に答える 3

365

もちろん。

git update-index --assume-unchanged [<file> ...]

元に戻して追跡を再開するには:

git update-index --no-assume-unchanged [<file> ...]
于 2012-05-25T13:57:52.607 に答える
8

別のアプローチ(Seth Robertsonによって削除された回答からですが、それを復活させると便利だと思いました)は、「追跡された」テンプレートファイルを維持し、そのローカルの追跡されていないバージョン(例:「config.sample.ini」または「完全な例については、https: //gist.github.com/canton7/1423106を参照してください。

そうすれば、ファイルがgitなどで変更されても問題はなく、ローカルの追跡されていないファイルで(最終的に).gitignoreを使用できます。

于 2017-01-30T16:55:44.983 に答える
4

filterコマンドでgit属性と%fを使用する別のソリューション:

git config filter.orig.clean "cat %f.orig"
cp filename filename.orig
echo "filename filter=orig" >> .git/info/attributes
echo "filename.orig" >> .git/info/exclude
于 2014-05-05T11:22:19.013 に答える