gpt4 book ai didi

git - 拆分巨大的 git 仓库

转载 作者:太空狗 更新时间:2023-10-29 13:23:48 25 4
gpt4 key购买 nike

我正在尝试使用食谱 described in this question 拆分一个 git 存储库,但是有问题的 git repo 很大并且有数千个提交,所以当我尝试按照描述运行命令并且提交过滤器失败时,命令行限制开始。如果我尝试分阶段进行(首先应用索引过滤器,然后提交过滤器),索引过滤器工作正常,但提交过滤器卡住并开始使用大量内存(3G+)所以我必须杀死它。知道怎么做吗?也许我在这里做错了什么?

对于那些没有阅读其他问题的人,任务是将几个目录从一个非常大的 git 存储库拆分到另一个存储库,同时保留与这些目录相关的历史记录。

最佳答案

我认为自从我写了那个答案后就添加了这个:

--prune-empty

Some kind of filters will generate empty commits, that left the tree untouched. This switch allow git-filter-branch to ignore such commits. Though, this switch only applies for commits that have one and only one parent, it will hence keep merges points. Also, this option is not compatible with the use of --commit-filter. Though you just need to use the function git_commit_non_empty_tree "$@" instead of the git commit-tree "$@" idiom in your commit filter to make that happen.

所以用 git filter-branch --index-filter '...' --prune-empty 试一试,因为它只是我另一个答案中的提交过滤器给了你问题。

关于git - 拆分巨大的 git 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4881325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com