2013-02-26 126 views
0

git或任何VCS是否可以在一個存儲庫中維護基本上相同的軟件(「免費」版本和付費版本)的兩個版本?我設想一個主分支(也許是「免費」分支)和一個付費分支,我將「免費」分支合併到分支中。git用於兩個版本的軟件(免費和付費)

我對這方面並不熟悉,所以我的思想和術語可能不完全準確。即使它有效,我也沒有嘗試過,但這可能不是最好的方法。謝謝!

+2

除非您在免費和付費版本的軟件的每個部分都有付款鎖定,否則您可以將付款鎖簡單地限制爲一個或兩個類別。實際上,付費和免費版本的代碼應該完全相同(只有給予用戶的安裝密鑰應該改變),除非你真的在編寫兩個程序。 – 2013-02-26 04:06:12

+0

@RobertHarvey儘管我完全同意這一點,但我正在使用的軟件不能很好地以二進制形式分發,用戶貢獻將受到限制。功能集和數據服務將被添加到付費版本中。 – Spechal 2013-02-26 04:07:28

+0

我正在用PHP編寫它,所以這個源代碼是可用的,這就是爲什麼我希望擁有一個包含更多代碼的獨立分支。 – Spechal 2013-02-26 04:10:36

回答

0

這種業務邏輯應該在構建策略中實施。使用git保留兩個類似的代碼庫是一個很大的NO NO。

即使在像PHP這樣的解釋語言中,你仍然需要構建。您的代碼不應直接用於源代碼。至少你需要爲生產模式編譯CSS,Javascript等。所以建立是必須的。

現在來免費和收費版本。我不知道你是如何將他們分開的。我認爲更好的邏輯是通過插件或模塊。付費版本具有更多或更好的功能,可以通過包含單獨的插件或模塊來完成。

所以現在的邏輯很簡單:

  1. 你保持公共回購,以滿足您免費版本。
  2. 您保留一個付費版本的私人回購,其中包括1)高級插件/模塊。 2)構建策略來獲取免費的回購和編譯付費版本。
相關問題