git -

  显示原文与译文双语对照的内容

大项目由几个模块组成,使用


git filter-branch -f --index-filter"git rm -r -f --cached 
--ignore-unmatch $(ls -w 100500 -xd ^(editor|shared|thirdparty) )" 
--prune-empty -- --all

和类似的其他模块的命令到 2项目 B

.git 库的大小对原始( unsplit ) 复制 100 mb. git 大小在 89Mb和大小的. git B 110Mb

项目和 B 我使用清理


rm -rf. git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

我真的不明白为什么原始回购,分为 2副本,是 ~2 倍少之和是分裂。

我试图在多个文件中执行查找从 B, 意识到没有这些文件 B 但匹配。 所以看起来文件( 至少那些) 是不重复的。 我使用了如下命令


git log --all -- **/CryptoInterface.java

为了找到这些文件。

问题——如果原始项目 100mb,我认为应该像 30mb,b应该像 70mb 或者至少大小之和a和bshound那样 2倍比原始 100 mb。

我的假设有什么错误? 也许我们有重复的项目和? 如何检查并查找重复的对象?

提前致谢!

时间:

你是否尝试重新打包软件包? 每次需要删除git中的悬空对象时,我都使用以下命令


rm -rf. git/refs/original/*
git reflog expire --all --expire-unreachable=0
git repack -A -d
git prune

...