2012-03-03 156 views
6

我想知道是否可以說有一個我需要的東西,配置,應用程序代碼等的主要回購(這是一個MVC環境),並創建分支從一個主要的GIT回購只有某些模型,控制器和觀點。GIT分支特定文件?

所以我想有一個主回購與

applications/* 
assets/* 
system/* 

而且我有

applications/controllers/controller_name.php 
applications/model/model_name.php 
applications/views/view_name.php 
assets/modules/controller_name/* 

分支然後,我可以一個分支合併到每一個新的「MVC設置」主回購

這是否有意義?它可以做到嗎?

回答

8

Git不會在每個文件的基礎上進行分支,它會在存儲庫基礎上進行分支。

這就是說,僅僅因爲你用整個回購製作了一個分支並不意味着你必須在每個分支中擁有所有相同的文件。

+0

我已經在他們自己的倉庫中有幾個Magento模塊。所有的文件路徑都是相似的(例如'/ app/code/community/MyNamespace/[module name] /'和'/ app/etc/modules/[module config] .xml')。藉助Git,我可以輕鬆地將它們合併到任何Magento項目中。只要文件名不衝突,它不應該是一個問題。 – 2012-03-03 23:18:10

3

Git跟蹤快照您的代碼庫(另請參閱the Git parable)。因此,無論您想與主分支有什麼不同,您都可以在單獨的分支中進行跟蹤。如果這意味着你將在另一個分支中有新的文件,你可以這樣做。如果這意味着你將擁有相同的文件,修改,你可以做到這一點。

我不確定你的意思是「對於每個新的MVC設置」,但似乎你覺得複雜。在我看來,你想有一個「共同基礎」,然後根據共同基礎進行「特定設置」。您可以通過讓主分支具有基礎,並跟蹤特定安裝分支中特定於設置的更改/添加/任何內容。

後一種方法通常用於實踐中的「產品變體」。您通常會在主分支上開發通用功能,並將其合併到您想要的每個分支中,或者您將「在主分支之上」重新分配單個分支。

你甚至可以從一個設置特定的分支到另一個單獨提交,但我正在離題。

+0

Git跟蹤快照,而不是更改。 – Nayuki 2012-03-03 23:50:06

+0

謝謝,糾正。 – Irfy 2012-03-04 00:17:21