[英]Is it possible to nest git repos, but only have one Github repo
我知道有很多关于“如何嵌套git repos”的问题,而且大多数都推荐使用子模块。 但是,我看到的所有代码片段都将子模块连接到一个单独的git url。 在我的情况下,我唯一的git遥控器是在GitHub上,但我希望子模块在索引中不可见。 不可否认,我的理由有点浅薄; 我有超过150个回购,我想结合其中一堆,使列表更易于导航。 但是我不想失去修订历史。
现在我只看到两个选项,两者都不合适:
没有。
“GitHub repo”正好是一个Git回购。 虽然有一些方法可以使用Git实现这一目标(通过子模块或将repos合并为一个),但是你已经将它们作为不可行的消除了。
将所有提交历史合并到一个树中
这就是monorepo方法,你看到大型组织(Facebook,谷歌,微软)越来越多地使用它
微软有一个巨大的Git 仓库 用于Windows ,但这是因为它使用GVFS(Git虚拟文件系统)
在您的情况下,您可以尝试合并您的 merge --squash
( 例如,使用git子树) (或者, 作为另一个选项,一些merge --squash
)
您可以像使用子树一样处理整个存储库。
我认为解决方案可能是子树 。 使用子树,您可以在中央存储库中开发存储在其他存储库中的元素。
这意味着你可以拥有
您可以将组件A和B放在separate repository中。 有自己的自述文件等。 那些不是独立的库:只是项目的一部分(子树)。
要更新组件X,您只需克隆组件并进行更新即可。 但是等等,......这有点令人困惑,所以,...你可以在主git存储库中拉下子树并将子树推入其远程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.