【发布时间】:2011-02-26 08:14:32
【问题描述】:
我的所有项目都使用 SVN。
有时项目 B 源自项目 A 的副本。
当项目 A 发生一般更改时,我可以在目录 B 中使用 svn merge A,它会合并这些更改。
现在,如果我想使用 git。我不喜欢将我的所有项目都放在同一个存储库中,因为我必须克隆 everything 并且不能像在 SVN 中那样只选择一个项目。 但是对于每个项目都有一个存储库,我该如何像之前使用 SVN 那样做呢?
问题是: 如果我想要几个真正与一个原始项目相关的子项目并保持它们同步,那么构建它的最佳方式是什么?而且我还希望能够单独检查它们
【问题讨论】:
-
你最好看看 git-submodule (kernel.org/pub/software/scm/git/docs/git-submodule.html)。
-
@Jefromi 但源文件基本上来自相同的历史,这是否意味着我有两个文件副本?我认为子模块更多地用于跟踪您作为单独文件(而不是合并)包含的外部库?
-
没关系,我没有看到您说 B 是 A 的副本。阅读您的“问题是”,您说“子项目......与一个原始项目有关......同步”我以为你的意思是取出原始项目的大部分内容,但在元项目中保持它们同步。