我在回购中有几个回购。
在repo3中我想创建几个分支。当我向后移动一个仓库,即在repo2中,然后执行git branch
时,它会向我显示repo2和repo3中存在的所有分支。但我想要的是能够创建独特的回购分支,并且这些分支不应该出现在repo2中。
此图表显示了我的需求:
repo1/ repo2/ repo3
| |
| |
| |_ _ _branchX, branchY, branchZ, branchK
|
|
branchA, branchB, branchC
答案 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
的正确方法是将repo2
和repo3
分别初始化,即:
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 branch
,repo1
或2
中完成的3
只会显示当前回购的分支。