2012-07-16 86 views
0

在我的情況下,超級項目足夠大,因此它包含多個工件。假設項目A,B,C,D,E。他們是不同的git項目。現在我們需要處理兩個不同的版本,然後歸結爲這個問題,我們如何分支。我最初來自顛覆世界,如果它是SVN,我可能會考慮創建一個超級項目,幷包含所有子項目A,B,C,D,E,然後我只是將超級項目分開。git多項目分支

但就分支而言,在概念上,git與SVN有一些區別。只是想在git世界中,通常分支多個git項目的不同版本的最佳做法是什麼?我知道子模塊已經被討論了很多,單獨分支項目是否有意義?

另一個問題是,如果分支完成,我們如何版本在不同分支的文物?如果你有兩個分支,這意味着你將有兩個不同分支的所有子項目的不同版本,那麼你開始聞到失敗。

回答

1

由於分支是非常輕量級的,你不應該感到擔心的各子項目創建它們,你有控制權。大部分工作都包含在名爲git slave的項目中。在任何地方處理git submodule foreach可能會變得單調乏味,如果忘記在命令前加上前綴,就會引發問題。

0

子模塊或子存儲庫是分離更大項目的方法。 每個子模塊都有自己的責任,版本和分支機構。

因此,您必須問自己需要更改哪些存儲庫並將其分支。也許從10個子模塊中,您只需觸摸並分支一個或兩個子模塊,除非它是一個重大的重構,那麼您沒有選擇。

可以分支下面的命令一切(在你的主倉庫的根目錄運行)

git checkout -b hacking_away 
git submodule foreach git checkout -b hacking_away