1. ホーム
  2. git

[解決済み] gitのトラッキングからフォルダを削除する

2022-03-17 19:50:54

質問

あるフォルダ(name uploads)をトラッキングから除外したいのですが、どうすればよいですか?私は以下を実行しようとしました。

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

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

/wordpress/wp-content/uploads

を実行したところ git status は削除されたものとして表示されます。変更をコミットしようとすると、ファイルは削除され、トラッキングから削除されるだけでなく、削除されます。

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

また、次のことも試してみました。

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

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

解決方法を教えてください。

この質問は、"git remove folder from tracking"でググっているときに出会いました。OPの質問から答えにたどり着きました。後世のためにここに要約しておきます。

質問

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

回答

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

path_to_your_folder/

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

git rm -r --cached path_to_your_folder/

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

このフォルダは、Git の観点からは "deleted" とみなされます (つまり、過去の履歴には残りますが最新のコミットには残らないので、このリポジトリから取得した人はこのファイルをツリーから削除することになります) が、あなたの作業ディレクトリには残ります。 --cached .