2012-10-26 16 views
2

我有一個軟件,我想提供給我的客戶,但他們有機會訂購更改和個人定製。使用Git作爲多版本軟件的基礎,但合併下游

到目前爲止,我已經完成了原始軟件的拷貝,並在那裏做了修改。但是當涉及維護和更新核心文件和功能時(這隻在開發服務器上,當部署git生成的「副本」將是實際副本時),這種方法已經很痛苦了。

我想出了一個想法,使用git分支來創建那些不同的「副本」,並在那裏工作。但問題在於,我想在分支中傳播我在主服務器(所有分支從其開始的軟件基礎)中所做的更改,而不是其他方式,從分支到主服務器中的合併。

git可以嗎?如果沒有,有沒有其他軟件可以做到這一點?

+0

當然。看看這個優秀的文章:http://nvie.com/posts/a-successful-git-branching-model/。在你的情況下,額外的分支將存在基於主分支的定製修改。 –

回答

1

師父只是一個分支,就像任何其他分支一樣。沒有任何東西阻止你通過合併另一種方式來同步任何分支以及添加到主分支上的任何更改。在分公司A時,只需要:

git merge master 

並且在master中的合併將被添加到A分支。您必須解決任何其他合併中的衝突。

+0

10x thas就是我要找的 – Nikola

+0

太棒了,只要確定你接受了其中一個答案,如果你對他們滿意。 – harald

0

當然,這完全有可能。爲了從傳播到master另一個分支的改變,你會簡單地做......

git checkout <another branch> 
git merge master 

這需要從master什麼新的變化,並將它們添加到<another branch>,在不改變master可言。

+0

10倍thas是我正在尋找 – Nikola

0

只要確保你有你想的分支進行更新檢查了

git checkout BRANCHNAME

比你可以做

git merge master 

其患病把從主您的所有更改到當前分支,唯一的問題可能是,我不知道是否有可能一次爲多個分支做。