1. ホーム
  2. git

git リポジトリからファイルを完全に削除するにはどうすればよいですか?

2023-08-08 14:54:58

質問

最近、私のテキストエディタが使用するプロジェクトファイル (他のジャンクも含む) がプロジェクトの git リポジトリに追加されたことに気づきました。 それらは実際にはプロジェクトの一部ではないので、それらを削除したいのですが、しかし git rm はリポジトリから古いバージョンを削除しませんし、有望なものを他に見つけることができませんでした。

どのように解決するのですか?

使用するツールは git filter-branch . その使い方を説明します。 ここで で説明していますが、基本的には

$ git filter-branch --tree-filter 'rm -f my_file' HEAD

から "my_file"を削除します。 から削除します。 コミットします。

これはすべてのコミットを書き換えるので、リモートリポジトリにプッシュする場合、(a) 強制的に更新しなければならず、(b) あなたからプルした他の全員が、(あなたが歴史を書き換えたので)重複したコミットを持つことになることに注意してください、これは git rebase マニュアルページ .