2016-11-14 73 views
1

我在回購中有幾個回購。
在repo3我想創建幾個分支。當我回購回購時,即在回購2中,並且執行git branch時,它向我顯示存在於回購2和回購3中的所有分支。但是我想要的是能夠創建獨特的分支,並且這些分支不應該出現在repo2中。如何在回購中在回購中創建獨特分支

下圖顯示了我多麼想:

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

你在這裏有多少實際的'.git'文件? –

+0

我只在repo1中有.git文件。 – Deke

+0

研究使用Git子模塊。這將如下工作:在'repo2'裏面,會有一個代表子模塊'repo3'的分支。在'repo3'裏面,你會看到它的所有分支。 –

回答

0

這是我如何做最後:我在每個回購git init。然後,我創建了與該回購相關的新分支。當我回購回購股票並做了git branch時,它只在當前回購股票中顯示分行。

是的,但它也註冊了一個gitlink(一special entry in the index)的嵌套式回購...無需註冊嵌套回購遠程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 branchrepo1,23中完成將只顯示當前回購的分支。

相關問題