2013-08-02 46 views
0

所以我有多個分支的單個git倉庫,從這個我已經創造了一些本地資源庫只是選擇在一個時間一個分支,例如合併提交到單獨的Git倉庫

git clone --single-branch --branch master ssh://xxx:29418/Javacode.git master 
git clone --single-branch --branch PLATFORM2_7_0_3 ssh://xxx:29418/Javacode.git PLATFORM2_7_0_3 
git clone --single-branch --branch PLATFORM2_7_1_1 ssh://xxx:29418/Javacode.git PLATFORM2_7_1_1 

現在說我在其中一個存儲庫中進行了提交,並且希望將其提交到其他存儲庫中。

現在我是git的新手了,但是從我所瞭解的通常會做的事情是採取整個存儲庫(即沒有單分支選項),檢出某個分支,從中創建一個新分支,做一個提交到該分支,然後將新分支與原始分支合併。那麼也應該可以結帳說7_1_1分支或主分支,並再次將分支與其中的修復合併到那些分支中。

由於我將單個分支克隆到單獨的存儲庫,我可以使用什麼方法實現上述操作,而無需在這些存儲庫中進行相同的更改(這當然很容易出錯)。

回答

1

在這些克隆之一,你可以用

git fetch origin 

獲取整個上游回購然後,您有origin有所有提交,您可以git cherry-pick他們。

如果提交的生活不是在origin但在,比方說,PLATFORM2_7_0_3克隆,你可以櫻桃採摘它變成另一種克隆通過添加爲遠程:

cd PLATFORM2_7_1_1 
git remote add PLATFORM2_7_0_3 ../PLATFORM2_7_0_3 
+0

所以在PLATFORM2_7_0_3我說有一個名爲PLATFORM2_7_0_3_fix(包含提交)的子分支,我想櫻桃選擇包含修復到PLATFORM2_7_1_1的子分支,我該怎麼做? – PDStat

+0

@PaulStatham:'git cherry-pick PLATFORM2_7_0_3_fix'爲最後一次提交,否則使用'git merge PLATFORM2_7_0_3_fix'。 –