2015-12-25 23 views
2

我們有兩個rails項目,其中/模型對於兩個項目都很常見,所以我們通過使用子模塊概念來維護單獨的回購。如何結帳到子模塊中的不同分支?

現在在project1中,我創建了一個來自主模塊的分支rails3_upgrade,用於我的子模塊,即應用/模型。

如何在master2的project2模型中檢出該分支?

我試過get fetch --allgit remote -v和其他一些選項,但看不到我創建的分支。

谷歌搜索,但無法找到。誰能告訴我我該怎麼做?

+0

在這種情況下,你可以做'爲[Git的子模塊的項目2 –

+0

可能重複拉request':指定一個分支/tag](http://stackoverflow.com/questions/1777854/git-submodules-specify-a-branch-tag) –

回答

0

在父回購PROJECT1創建一個分支不會被其他回購(子模塊或項目2)

您可以創建在PROJECT1的一個子模塊分支,並看到它在同一子模塊項目2

可見
cd /path/to/project1/submodule1 
git checkout -b newBranch 
git push -u origin newBranch 

cd /path/to/project2/submodule1 
git fetch 
git checkout newBranch --track origin/newBranch 

像往常一樣,你是否對子模塊進行任何修改,別忘了在父回購中添加和提交。

在子模塊中創建分支並不意味着子模塊將始終檢出該分支的最新內容。
對此,請參閱我之前寫過的「Git submodules: Specify a branch/tag」。
而對於子模塊自動更新到最新的分支,你需要一個

git submodule update --recursive 
+0

嗨,我在我的子模塊中只在Project1中創建了一個分支。我的意思是我的應用程序/模型是Project1和Project2的子模塊。所以在Project1中,我轉移到應用程序/模型,並從主人創建了一個分支'new_branch'。 之後,我去了Project2的應用程序/模型,我試圖結帳到我在Project1應用程序/模型('new_branch')中創建的分支。 –

+0

@Thisisme好的,但是你推了你在project1/app/models中創建的分支嗎?因爲app/model是它自己的git repo,並且project2中的同一個git repo在能夠檢出之前需要獲取該分支。 – VonC

+0

是的,我推動了,我也可以看到github回購中的分支。我在這個分支也有很多提交。 –