Gitリポジトリのサイズを縮小する 質問する

Gitリポジトリのサイズを縮小する 質問する

Git リポジトリのサイズを縮小するための良いチュートリアルを探してみましたが、見つかりませんでした。

リポジトリのサイズを縮小するにはどうすればよいですか?

約10MBですがヘロク50 MB しか許可されておらず
、アプリケーションの開発はまだ完了していません。

私はいつもの容疑者(ログ、ベンダー、ドキュメントなど)を.gitignoreファイルは既に存在します。ただし、最近.gitignore
を追加したばかりです。

私に何ができる?

ベストアンサー1

2021年2月更新、11年後:新しいgit maintenance指示マニュアルページ)が に取って代わりgit gcスケジュール可能


オリジナル:git gc --aggressiveプルーンプロセスを強制的に実行する方法の1つです(確かにgit gc --aggressive --prune=now:)。その他のコマンドリポジトリをクリーンアップすることもgit gcできます。ただし、忘れないでください。リポジトリのサイズを増やす

filter-branchの後に使用して、履歴から削除するディレクトリをマークすることもできます(さらにスペースを確保します)。ここしかし、それは誰もあなたのパブリックリポジトリからプルしていないことを意味します。filter-branchバックアップリファレンスを保持できる.git/refs/original、そのディレクトリもクリーンアップできます。

最後に、前述したようにこのコメントでそしてこの質問; reflog をクリーンアップすると次のことが役立ちます:

git reflog expire --all --expire=now
git gc --prune=now --aggressive

さらに完全な、そしておそらく危険な解決策はgitリポジトリから未使用のオブジェクトを削除する


ご了承くださいgit filter-repo現在(Git 2.24+、2019年第4四半期)は、廃止git filter-branchまたはBFG: これはPythonベースのツールであり、インストールされる初め。

ジョー 示唆する:

# Find the largest files in .git:
git rev-list --objects --all | grep -f <(git verify-pack -v  .git/objects/pack/*.idx| sort -k 3 -n | cut -f 1 -d " " | tail -10)

# Strat filtering these large files:
git filter-repo --path-glob '../../src/../..' --invert-paths --force
#or
git filter-repo --path-glob '*.zip' --invert-paths --force
#or
git filter-repo --path-glob '*.a' --invert-paths --force

git remote add origin [email protected]:.../...git
git push --all --force
git push --tags --force

おすすめ記事