Github和Git在一个项目中进行了两次回购

时间:2013-09-16 15:14:44

标签: git github

所以我希望设置一个这样的项目:

-- Project
   -- .git
   -- SubProject (Used by project)
      -- .git

这个想法是在github上Project是一个回购,SubProject是另一个回购。如果我设置这样的项目,这是否意味着Project - 在github上 - 将向SubProject repo显示“refrence”符号?

另外 - 如果是这种情况,当人B拉下Project以进行处理时,它还会将参考项目拉入内部 - SubProject ??或者他们是否必须拉那个项目?

现在我把项目分开放在git hub上 - 这就是我想要的方式,它们是两个项目 - 我Project使用SubProject并且我觉得当我开发{{1}时我总是在SubProject内开发它,然后复制到Project并承诺 - 他们没有历史记录。我想在项目内部开发SubProject,以便SubProject获得一些历史记录。

这将如何推动,拉动,合并,分支以及在一天结束时标记和压缩然后分发? - 项目将是标记和分发的项目 -

1 个答案:

答案 0 :(得分:0)

如上所述,您可以使用子模块。

正如我在“True nature of submodules”中解释的那样,这是从“父级回购”(项目)保持对另一个回购(SubProject)的修复引用的好方法。

两个回购公司的历史都是独立的并且分开:

  • 在一个分支中创建分支不会在另一个分支中创建分支。
  • 在父repo中创建一个标记不会标记子模块repo(但它会在标记时包含该子模块的SHA1,保证从该标记中提取父repo将恢复正确的版本子模块)。

请注意,从git 1.8.2+开始,您可以configure your submodule to track a branch of its own 或者你可以convert an existing submodule to track a branch 你可以remove a submodule at any time