9
未使用のオブジェクトをgitリポジトリから削除するにはどうすればよいですか?
誤って、最新のコミットで巨大なバイナリファイルをGitリポジトリに追加、コミット、プッシュしました。 そのコミット用に作成された/作成されたオブジェクトをGitに削除させて、.gitディレクトリを再び適切なサイズに縮小するにはどうすればよいですか? 編集:あなたの答えをありがとう。私はいくつかの解決策を試しました。何も機能しませんでした。たとえば、GitHubのものは履歴からファイルを削除しましたが、.gitディレクトリサイズは減少していません。 $ BADFILES=$(find test_data -type f -exec echo -n "'{}' " \;) $ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $BADFILES" HEAD Rewrite 14ed3f41474f0a2f624a440e5a106c2768edb67b (66/66) rm 'test_data/images/001.jpg' [...snip...] rm 'test_data/images/281.jpg' Ref 'refs/heads/master' was rewritten $ git log -p # looks nice $ rm -rf .git/refs/original/ $ git …