Git 追跡からフォルダーを削除する 質問する

Git 追跡からフォルダーを削除する 質問する

フォルダ(名前はアップロード)を追跡から除外する必要があります。実行しようとしました

git rm -r --cached wordpress/wp-content/uploads

その後、.gitignoreにパスを追加しました

/wordpress/wp-content/uploads

しかし、実行するとgit status削除済みとして表示されます。変更をコミットしようとすると、ファイルは追跡から削除されるだけでなく、削除されます。

何が間違っているのでしょうか?

私も試してみました

git update-index --assume-unchanged <file>

しかし、これはファイルのみを追跡解除するようです。ただし、フォルダー全体 (サブフォルダーを含む) を追跡から削除する必要があります。

ベストアンサー1

「git 追跡からフォルダーを削除する」を Google で検索しているときに、この質問に出会いました。 OP の質問によって、答えにたどり着きました。 将来の世代のために、ここで要約します。

質問

ローカル マシン (開発環境など) からフォルダーを削除せずに、git リポジトリからフォルダーを削除するにはどうすればよいですか?

答え

ステップ 1. リポジトリのルート.gitignoreファイルにフォルダー パスを追加します。

path_to_your_folder/

ステップ 2. ローカルの Git 追跡からフォルダーを削除しますが、ディスク上には残しておきます。

git rm -r --cached path_to_your_folder/

ステップ 3. 変更を Git リポジトリにプッシュします。

このフォルダーは、Git の観点からは「削除された」ものと見なされます (つまり、過去の履歴には存在しますが、最新のコミットには存在せず、このリポジトリからプルするユーザーのツリーからはファイルが削除されます)。ただし、 を使用しているため、作業ディレクトリには残ります--cached

おすすめ記事