gpt4 book ai didi

git - 将 git repo 分解成多个较小的

转载 作者:太空狗 更新时间:2023-10-29 14:15:25 26 4
gpt4 key购买 nike

我们有一个大项目,它开发了一个包含许多具有分层依赖结构的库的结构。

现在,转到另一个项目,我想将其分解为每个库一个 repo 协议(protocol)和一个或多个项目特定的 repo 协议(protocol),但保留历史记录。实际上,这意味着将一个大仓库的子目录转换为单独的仓库,其依赖性可能通过子模块或其他一些适当的机制处理。使用 git 是否可以轻松进行这种重组操作?

最佳答案

这取决于。如果您想将新存储库作为子模块进行跟踪并重写历史记录,使您看起来一直在使用该子模块,则需要编写一个 git filter-branch 脚本来为所述子目录执行此操作.棘手的部分是在子模块中也反射(reflect)分支和 merge 。

如果您只想从现在开始执行此操作,将特定路径中的提交移动到新存储库会很容易。只需在新分支上执行过滤分支,并且只包含涉及对其更改的历史记录。创建一个新的存储库并仅获取该分支。您现在可以将此存储库添加为子模块,并跟踪此后的后续更改。

关于git - 将 git repo 分解成多个较小的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12359973/

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