2011-08-25 20 views
1

私は偶然、巨大な不要なフォルダをコミットし、gitでmasterにプッシュしました。そして、私はもう一回コミットしました。そうそのgit resetで以前のコミットにロールバックするときの問題

このようなA - B - C - D

C - 問題は、私は、コマンドを

git reset --hard <sha1-commit-id-of-B> 

git push origin HEAD --force 
を使用間違いを実現した後

コミットされます

をBにロールバックしても問題ありませんでしたが、リポジトリのサイズは同じです。私は混乱していた。どのように私は不要なファイル(永久に)を取り除くことができますので、gitに表示されません?

答えて

3

このようにブランチポインタを戻しても、gitは、参照されなくなったオブジェクトをただちにガベージコレクションしません。たとえば、git reset --hardを間違って実行した場合、通常はコミットのオブジェクト名を検索してreflogを使用して古いコミットを簡単に回復できます。それら。ゴミは、スペースを再利用するために、すぐに収集するためにあなたが本当にしたい場合は、行うことができます:

git gc --prune=now 

しかし、1はほとんど決してこれを実行する必要はありません...

+0

ありがとうございました。その救済は私が手動でガベージコレクションをする必要はありません、私はgitにそれを行うことができます.. .. :) – RameshVel

関連する問題