コードをビルドするときに自動的に変更される追跡ファイルがリポジトリにあります。追跡を解除したくないし、変更されたように表示したくないし、gitadd時にステージングしたくないだけです。
これは可能ですか?
コードをビルドするときに自動的に変更される追跡ファイルがリポジトリにあります。追跡を解除したくないし、変更されたように表示したくないし、gitadd時にステージングしたくないだけです。
これは可能ですか?
もちろん。
git update-index --assume-unchanged [<file> ...]
元に戻して追跡を再開するには:
git update-index --no-assume-unchanged [<file> ...]
別のアプローチ(Seth Robertsonによって削除された回答からですが、それを復活させると便利だと思いました)は、「追跡された」テンプレートファイルを維持し、そのローカルの追跡されていないバージョン(例:「config.sample.ini」または「完全な例については、https: //gist.github.com/canton7/1423106を参照してください。
そうすれば、ファイルがgitなどで変更されても問題はなく、ローカルの追跡されていないファイルで(最終的に).gitignoreを使用できます。
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