1

git新手,我搜索了很多,没有找到一个强大的解决方案。

我有 2 个项目,A 和 B。A
包含[A code]and [SHARED CODE],B 包含[B code]and [SHARED CODE]

使用 svn,我可以在项目 B 中放置一个外部 svn,链接到项目 A 的子目录,意思是A->[SHARED CODE].

但是,似乎 git 不允许部分克隆,所以如果我选择子模块,我必须使它成为 3 个项目:和SHARED CODE,这很痛苦。AB

更糟糕的是,当我在A->[SHARED CODE](这是一个子模块)中进行一些更改时,似乎很难提交和推送它,并且git pull操作B不会自动将最新代码拉到B->[SHARED CODE].

那么有什么方便的解决方案吗?谢谢。

4

1 回答 1

2

然而,子模块仍然是正确的解决方案,特别是从 git1.8.2 开始:

见“ Git子模块新版本更新

可以将子模块配置为遵循最新的分支,因此这足以将所有子模块更新为最新的提交:

 git submodule update --remote

是的,这意味着 3 个 repos,但这与 git repo 应该扮演的角色是一致的:它代表一个“组件”,即一组具有自己独立历史的连贯文件。

于 2013-07-02T05:57:38.333 回答