1. ホーム
  2. git

[解決済み] 特定のファイルを無視するのではなく、特定のファイルだけをインクルードするようにgitに指示する方法はありますか?

2022-04-14 13:36:45

質問

私のプログラムは通常、巨大な出力ファイル(~1GB)を生成しますが、これをgitリポジトリにバックアップしたくはありません。 そこで、代わりに以下のことを行うことができます。

git add .

のようなことをしなければならない。

git add *.c *.cc *.f *.F *.C *.h *.cu

というのはちょっと面倒ですが...。

ディレクトリの内容を.gitignoreにlsして、.gitinclude(または似たような名前)ファイルに基づいてファイルを削除する手軽なPerlスクリプトを書く自信がありますが、それは少しハックしすぎのような気がします。 もっと良い方法はないでしょうか?

解決方法は?

私自身はこれを試す必要がなかったのですが、私が読んだ限りでは TFM 否定されたパターンがあなたの望むことを行うように見えます。.gitignoreのエントリーを、後から作った否定されたエントリーで上書きすることができるのです。したがって、次のようなことができます。

*.c
!frob_*.c
!custom.c

custom.c 以外のすべての .c ファイルと "frob_" で始まるものを無視するようにします。