私はID56f06019でコミットしています(たとえば)。そのコミットで、私は誤って大きなファイル(50Mb)をコミットしました。別のコミットで、同じファイルを適切なサイズ(小さい)で追加します。クローンを作成したときのリポジトリが重すぎる:(リポジトリのサイズを小さくするために、その大きなファイルをリポジトリ履歴から削除する方法は?
Pro Gitブックの第9章には、オブジェクトの削除に関するセクションがあります。
ここで簡単に手順の概要を説明します。
git filter-branch --index-filter \
'git rm --cached --ignore-unmatch path/to/mylarge_50mb_file' \
--tag-name-filter cat -- --all
前述のリベースオプションと同様に、filter-branch
書き換え操作です。履歴を公開している場合は--force
、新しい参照をプッシュする必要があります。
このfilter-branch
アプローチは、rebase
アプローチよりもかなり強力です。
filter-branch
バックアップも保持するため、reflogとガベージコレクションの有効期限が切れない限り、リポジトリのサイズがすぐに減少することはありません。
rm -Rf .git/refs/original # careful
git gc --aggressive --prune=now # danger
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加