2015-01-21 81 views
0

我是一個相對較新的GIT,所以我不想亂它太多,因爲我意外刪除了一些東西。無論如何,目前我有一個分行,我在過去的幾個月裏一直在分行,合併和推動單個回購 - 迄今爲止這麼好。現在我的項目已經到了一個階段,我需要創建三個不同的版本。我現在想要做的是創建主分支的三個單獨副本,並有能力將他們推送到他們自己的獨立Github回購。我知道這裏已經有很多關於克隆等的內容了,但是我認爲如果我只是爲了確保我不會搞砸任何東西而最好。謝謝 !使用git創建三個獨立的分支,並將分支推送到三個新的回購

回答

0

一旦你創建了Github上回購,去到你的工作副本,做

git remote add g1 <URL OF REPO1> 
git remote add g2 <URL OF REPO2> 
git remote add g3 <URL OF REPO3> 

現在你有三個新的遙控器叫做g1g2g3

做一個inital其狀態的讀取:

git fetch g1 
git fetch g2 
git fetch g3 

然後繼續前進,把你的當前狀態master有:

git push -f g1 master:master 
git push -f g2 master:master 
git push -f g3 master:master 

-f標誌強制推,以防萬一那有一些問題,因爲歷史不匹配或不管。你不應該需要進一步的推動。

然後,創建遠程master分支的本地表示:

git branch github1-master g1/master 
git branch github2-master g2/master 
git branch github3-master g3/master 

DONE。


除了這個:三個版本設置了三個回購之前,檢查是否這些版本不能在一個回購具有不同配置的託管/建造的腳本/不管。 3回購解決方案有巨大的缺點,您需要將master中引入的大部分更改引入所有三個版本分支(github1-master .. github3-master)。

更簡單的解決辦法是有一個回購提供3種不同的構建環境,您可以設置你的3種產品。

+0

@Mike:jep。只需執行你的工作副本所在的命令(即下面有'.git'目錄的目錄) – eckes 2015-01-21 10:27:39

+0

謝謝!我稍後再說。還有幾個問題;當你說「去你的工作副本」,你的意思是我應該在我的.git文件所在的主目錄中運行「git remote add」命令?其次,我知道你在回答中提到了這個問題,但是如果在稍後階段,我不得不將主人的變更合併到所有三個分支中,這將如何實現。再次感謝 ! – Mike 2015-01-21 10:38:29

+0

@Mike:最好是沒有三個分支。如果你堅持,你可以選擇「櫻桃採摘」或「合併」。這取決於變化有多大以及「主」分支與其他三個分支之間的差異有多大。再一次:如果你可以通過配置解決它,我建議使用,而不是3個產品分支... – eckes 2015-01-21 10:45:18