2017-11-02 15 views
1

誤ってgitリポジトリに大きなバイナリファイルを含むフォルダを追加してコミットしました。私がリモートのgitにプッシュしようとしたときに不平を言うので、私はフォルダーを削除してgitをコミットしました。早い段階で数週間待ってください。コミットは現在複数のコミットとマージがあるブランチ上にあります。コードレビューなどの他の開発ツールの中には、歴史は全くありません。私はそれをどのように削除するのか分かりません。コミットを削除することはできません。なぜなら、そのブランチの後続のコミット/マージで必要な他の重要なファイルが含まれているからです。外科的に単一のファイル/フォルダ形式を非常に特定の歴史的なコミットから削除する方法はありますか?特定の履歴コミットから特定のフォルダを削除するにはどうすればよいですか?

+0

履歴全体を変更することは許可されていますか? – OznOg

+2

[Gitリポジトリのコミット履歴から大きなファイルを削除/削除する方法は?](https://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from- commit-history-in-git-repository) – phd

+0

'git rebase -i'を使って影響を受けたブランチのコミット履歴を削除することはできますか?そうすれば、コードレビューを進めることができます。 – JDB

答えて

1

かなり簡単にgit filter-branchを使用できます。ヘルプページには、あなたのケースのための正確な例が含まれています。

当然のことながら、適用されているすべての警告で履歴を書き換えますが、本当にその大きなファイルを削除したい場合は、その事実を回避する手段はありません。

関連する問題