1

私は走った:

git filter-branch --prune-empty --subdirectory-filter cannery/assemblies master

大きなレポのクローンをはるかに小さなレポに変換します。

しかし、結果で --tags をプッシュすると、かなり大きいように見えます。

Counting objects: 36747, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (13463/13463), done.
Writing objects: 100% (36713/36713), 65.47 MiB | 1.55 MiB/s, done.
Total 36713 (delta 14866), reused 36676 (delta 14854)

これは、缶詰工場/組立品の本当に小さなコレクションです。

どうにかして、いらないものを大量に保持したことがありますか? どうすればわかりますか?

4

2 に答える 2

0

githubの親切な人が診断を提供しました。

これはかなり大きなsvnリポジトリとして始まりました。svn2gitを通過しました。この時点で、svn'タグ'はリポジトリ全体の適切なサブセットを参照していました。

次に、後で独自のリポジトリに分割するために設定した大きなリポジトリの小さな部分に対して、gitでmaven-release-pluginを実行しました。これにより、リポジトリ全体を参照するタグが作成されました。

それで、私がフィルタリングしたとき、その参照は射撃の試合全体を生き続けました。

修復は、このタグを削除してから再gcすることでした。

于 2012-11-12T03:32:09.490 に答える
0

あなたのコミットは孤立しています。ただし、それらがガベージ コレクションされ、レポのサイズが縮小されるまでには時間がかかります。

強制的に実行したい場合:

git gc --prune=now --aggressive
于 2012-11-08T22:22:38.443 に答える