如何在回购中的回购中创建独特的分支

时间:2016-11-14 05:07:29

标签: git github

我在回购中有几个回购。
在repo3中我想创建几个分支。当我向后移动一个仓库,即在repo2中,然后执行git branch时,它会向我显示repo2和repo3中存在的所有分支。但我想要的是能够创建独特的回购分支,并且这些分支不应该出现在repo2中。

此图表显示了我的需求:

   repo1/ repo2/ repo3 
            |      |
            |      |
            |      |_ _ _branchX, branchY, branchZ, branchK
            |
            |
          branchA, branchB, branchC

1 个答案:

答案 0 :(得分:0)

  

这就是我最终的表现:我在每个回购中git init。然后我创建了与该回购相关的新分支。当我移回一个回购并执行git branch时,它只显示当前回购中的分支。

是的,但是它也为嵌套的repo注册了gitlink(一个special entry in the index)...而没有注册嵌套的repo远程URL。 因此,当repo2进行新的提交并推送它们时,repo1将注册新的repo2 SHA1(gitlink),但不知道SHA1的来源(远程repo url)。登记/> 再次克隆repo1将导致空repo2(并且没有repo3

初始化repo1的正确方法是将repo2repo3分别初始化,即:

cd /path/to/repo2
git submodule add -- /url/repo3
git add .
git commit -m "Add repo3 as submodule"
git push

cd /path/to/repo1
git submodule add -- /url/repo2
git add .
git commit -m "Add repo2 as submodule"
git push

使用该设置,git branchrepo12中完成的3只会显示当前回购的分支。