1. ホーム
  2. git

Git リポジトリで過去に無視されたファイルをアンインストールできない問題

2023-09-01 07:26:45

質問

私は、あるサイトで /sites/default/files/ ディレクトリがあり、そこには通常ユーザーのコンテンツが保存されています。 このようなものを追跡する必要はないと考え、私の .gitignore ファイルに /sites/default/files/ を追加しました。

それから、ほとんど永続的なアップロードもそのディレクトリに置いておきたいと思うようになりました。 今では、/sites/default/files/ にあるすべてのものを追跡し、望ましくないサブディレクトリを除外することは、その逆を行うよりも理にかなっていると思います。

問題は、Gitがそのディレクトリを無視するのを止めないことです。 .gitignore からこのディレクトリを指定する行を削除しましたが、追跡されません。 私は、オプションとして git add /sites/default/files/ -f を使って強制的にディレクトリを追跡させるオプションもありますが、以前それをやったことがありますが、面倒な感じがしました。

.gitignoreがそのディレクトリを無視するように指定しなくなったのなら、なぜ私はGitがそれらのファイルを追跡し始めるように強制しなければならないのでしょうか?

どうすれば解決するのでしょうか?

後世に伝えるために:私の問題に対する答えは、「ただよく見てください」でした。

twalberg は、私が .gitignore ファイルで見落としているルールがあるかもしれないことを、正しく指摘してくれました。.gitignore のルールが適用されるカスケード方式は、意図したよりも広範囲にファイルを除外することを容易にします。

私が知る限り、git がどのように動作するかについて私が行っていた仮定は正しいものでした。 同様に、私のケースは、@J-16 SDiZ のコメントである assume-unchanged ビットがどのような役割を果たすかについての @J-16 SDiZ のコメントをサポート(または反証)していないようです。