2011-06-19 57 views
1

我有一個針對不同國家的商業客戶的Android應用程序。在git中爲Android項目分支1或2個文件

我需要爲這些客戶稍微定製應用程序。目前,我創建了一個customization.xml文件(res/values下的字符串資源),它將包含這些自定義字段。

目前我還沒有找到一種方法來使這些客戶從屬(也請注意,他們需要在XML文件)。

我可以在git中只分支customizations.xml和androidmanifest.xml文件嗎?這些文件非常小,所以我可以輕鬆地將它們保存在不同的分支中。然而,項目的其他變化應該很容易推到不同的分支。我會怎麼做呢?

說我們有一個: 默認:主分支 customer1表:用不同的AndroidManifest.xml和customizations.xml 的customer2 customer1表分支:....

感謝您的見解。 (我更喜歡git來解決這個問題,但如果你知道另一種方法,請詳細說明)。

回答

1

您只能分支完整的項目。但是,沒有人會阻止您更改分支中的這兩個文件。那麼您可以簡單地合併這些分支來傳播更改。

2

Git是基於快照的,並且會爲每次提交存儲整個樹結構。但是,它基於其散列值存儲內容。這意味着您的更改會將最小大小添加到存儲庫。

1

您試圖在此處解決兩個問題:1)爲不同國家/地區發佈版本的最佳版本控制策略。 2)由用戶從應用程序完成的依賴於客戶的定製。

對於1)建議您創建一個分支,進行必要的更改並從中進行發佈。這樣,如果需要修復錯誤,您將能夠清楚地瞭解發佈版本中的內容。它還將充分解決您對此的定製和版本控制需求。

2)爲用戶加載自定義用戶界面可以通過提示用戶首次啓動應用程序以從一組選項中進行選擇來完成。然後,您可以將其保存在應用偏好設置中確保提供一個選項來在某種設置菜單中更改此選項。