我有一个大小为3.2 GB的git checkout,包括.git dir。这个仓库中有一个子文件夹,我想分成一个新的git仓库。所以我按照这里的说明进行操作:https://help.github.com/articles/splitting-a-subfolder-out-into-a-new-repository/
到目前为止,这么好。但是,新的repo(包括.git目录)仍然是2 GB,但签出的文件只有22MB,主分支上的日志中只有164个提交。我尝试过git reflog expire --expire=now --all
和git gc --aggressive
以及git prune --now
等几项内容。
我仍然看到很多我想要清除的分支。
我该怎么做才能确保此回购邮件中没有删除的代码?
更多信息:
git st
显示:
# Your branch and 'origin/master' have diverged,
# and have 164 and 101729 different commits each, respectively.
# (use "git pull" to merge the remote branch into yours)
所以看起来历史记录仍然包含所有这些提交。
答案 0 :(得分:0)
我忽略了console.log($('path')[0].attributes.d.value);
console.log($('path')[1].attributes.d.value);
命令仅适用于给定分支的事实。因此,我必须对我想要保留的所有分支执行此操作,并删除其他分支。接下来,我删除了所有标签。然后,我使用$(document).ready(function () {})
在本地克隆了repo,但它仍然 2GB。最后,运行这两个命令帮助我清理所有剩余的残骸:
git --filter-branch
......将其降至28MB。
警告:可能只适用于旧版本的git,这些说明是使用git v1.8.3.1应用的。