我很确定之前已经回答了这个问题,但我找不到一个好的。什么是将存储库(应该是最新的)集成到另一个存储库的最佳方法?此存储库应存在于其他一些存储库中。我读过关于
的文章我尝试了子模块,但对于像我这样的git新手来说,接缝非常复杂。在我的想法中,当我拉动存储库时,子仓库也应该更新自己。还有另一种我错过的简单方法吗?
示例:存储库 Source_Global 应位于存储库 MyFramework 以及 MyGameEngine 中。
我在Windows上使用TortoiseGit。
答案 0 :(得分:0)
我有一个类似的问题,发现子树可能是Git中最好的解决方案。但是,目前TortoiseGit中没有子树支持,因此您需要使用命令行来使用该功能。
另请注意,子模块和子树都不允许将一个存储库的部分导入另一个存储库(这对我很重要)。
我的解决方案(可能对您没有帮助)是使用Subversion(和TortoiseSVN),直到为Windows更好地集成和记录子树支持。
答案 1 :(得分:0)
距离上次回答已经过去了几年,所以我认为值得重新讨论这个问题。
子模块
这似乎是处理您情况的最广泛的方法(至少根据Google Trends而言)。但是网上有很多关于如何使用它的抱怨。发挥作用:
子树
我认为子树的Git实现比子模块更加用户友好。子树不受上面列出的三个问题的影响。但是TortoiseGit still不支持创建,拉出或推送子树。 (不过,您可以 查看并提交给他们。)您可以尝试使用Atlassian Sourcetree作为替代方案,但这有其自身的缺点。
我认为子树是子模块的有才而又被忽略的兄弟。