2015-04-27 72 views
0

我有一個移動應用程序與鈦建成,我賣給我的客戶。 我有一個主要的源代碼,我更新,然後複製/修改每個客戶的項目和構建App Store。 2-3項目很容易,但現在我遇到了一個大問題。我是Git的新手,我想問問是否有任何方法可以輕鬆管理這些項目。 例如更改我的源代碼,然後自動將更改推送到其他項目。我應該使用分支來實現嗎? 注意:我的源代碼文件夾位於所有項目的同一文件夾中,因此在修改中沒有任何更改。我有其他文件夾的UI定製和其他文件夾的圖像GIT項目與幾個項目

回答

1

你通常會有一個項目不可知的master分支和幾個projectX分支。任何特定項目都將在master上開發。 project分支將合併來自master的所有更改。

要在分支之間切換工作樹,可以使用命令git checkout projectX命令。然後使用git merge master從主服務器導入提交。

或者,當您想要同時訪問所有項目的源代碼時,可以使用單獨的存儲庫而不是分支。爲不同目錄中的每個項目創建一個主git存儲庫和一個單獨的git存儲庫。在每個項目上,將主存儲庫設置爲從其中取出的源。要從主存儲庫導入,您將使用git pull而不是git merge

當你想自動合併/從項目分支/存儲庫拉,我建議你使用一個shell腳本,它會自動爲每個項目做到這一點。爲了更加奢華,您可以將其設置爲主分支的post-commit hook。但請記住,由於合併衝突,拉可能會失敗。

1

最好的建議可能需要花一天時間熟悉git,儘可能多地閱讀它,然後玩弄它。谷歌搜索「git workflows」收益率例如these兩個documents。文檔通常處理「分佈式」工作流程(包含多個人員),但您可以使用相同的技術來管理項目。

總之,是的,分支機構會幫助你。如果沒有更深入的設置知識,我會推薦一個開發分支,所有每個客戶端分支都離開它。然後,您可以定期將開發分支合併到每個客戶端分支以發佈您的應用程序。如果您一次處理多個功能,則還可以將功能分支合併到您的開發分支中,然後合併到您的每個客戶端分支中。

爲了使這個過程儘可能無痛苦,我會嘗試自動化的東西。嘗試將每個應用程序信息分配到配置文件(構建時間或運行時配置)中,併爲所有配置文件設置一個通用代碼庫。儘可能自動化構建過程。如果在合併分支時經常遇到合併衝突,請考慮如何重構代碼以解決未來的問題。