我有一個移動應用程序與鈦建成,我賣給我的客戶。 我有一個主要的源代碼,我更新,然後複製/修改每個客戶的項目和構建App Store。 2-3項目很容易,但現在我遇到了一個大問題。我是Git的新手,我想問問是否有任何方法可以輕鬆管理這些項目。 例如更改我的源代碼,然後自動將更改推送到其他項目。我應該使用分支來實現嗎? 注意:我的源代碼文件夾位於所有項目的同一文件夾中,因此在修改中沒有任何更改。我有其他文件夾的UI定製和其他文件夾的圖像GIT項目與幾個項目
回答
你通常會有一個項目不可知的master
分支和幾個projectX
分支。任何特定項目都將在master
上開發。 project
分支將合併來自master
的所有更改。
要在分支之間切換工作樹,可以使用命令git checkout projectX
命令。然後使用git merge master
從主服務器導入提交。
或者,當您想要同時訪問所有項目的源代碼時,可以使用單獨的存儲庫而不是分支。爲不同目錄中的每個項目創建一個主git存儲庫和一個單獨的git存儲庫。在每個項目上,將主存儲庫設置爲從其中取出的源。要從主存儲庫導入,您將使用git pull
而不是git merge
。
當你想自動合併/從項目分支/存儲庫拉,我建議你使用一個shell腳本,它會自動爲每個項目做到這一點。爲了更加奢華,您可以將其設置爲主分支的post-commit hook。但請記住,由於合併衝突,拉可能會失敗。
最好的建議可能需要花一天時間熟悉git,儘可能多地閱讀它,然後玩弄它。谷歌搜索「git workflows」收益率例如these兩個documents。文檔通常處理「分佈式」工作流程(包含多個人員),但您可以使用相同的技術來管理項目。
總之,是的,分支機構會幫助你。如果沒有更深入的設置知識,我會推薦一個開發分支,所有每個客戶端分支都離開它。然後,您可以定期將開發分支合併到每個客戶端分支以發佈您的應用程序。如果您一次處理多個功能,則還可以將功能分支合併到您的開發分支中,然後合併到您的每個客戶端分支中。
爲了使這個過程儘可能無痛苦,我會嘗試自動化的東西。嘗試將每個應用程序信息分配到配置文件(構建時間或運行時配置)中,併爲所有配置文件設置一個通用代碼庫。儘可能自動化構建過程。如果在合併分支時經常遇到合併衝突,請考慮如何重構代碼以解決未來的問題。
- 1. 項目由幾個項目組成
- 2. 一個項目,多個客戶與GIT?
- 3. 與slideToggle幾個列表項目
- 4. TC與上Git項目
- 5. Newtonsoft.Json.JsonConvert.SerializeObject單個項目與多個項目
- 6. Git子項目?
- 7. 大Git項目
- 8. LINQ組項目。單個項目可能在幾個組中
- 9. 將git項目添加到android項目
- 10. 與上面的項目名稱相同的git子項目
- 11. 在一個項目下多個git項目的策略
- 12. GIT從一個多項目結構克隆一個SVN項目
- 13. Git有一個主項目和多個子項目
- 14. 重組GIT項目
- 15. git和github項目
- 16. Eclipse項目和git
- 17. git嵌套項目
- 18. 重置Git項目
- 19. GIT項目結構
- 20. 如何將Git項目遷移爲包含子項目的一個項目
- 21. Git將兩個單獨的項目/ git repos合併到一個主項目中?
- 22. 如何用git管理好幾個項目
- 23. git的子樹到同一項目的幾個地點
- 24. 如何在幾個GIT倉庫中組織大型項目?
- 25. 使用git從項目骨架創建一個新項目
- 26. 如何管理依賴Git中另一個項目的項目?
- 27. 整個項目回滾,新項目繼續Git
- 28. git如何與項目工作(Android Studio)
- 29. 與Eclipse項目git服務器
- 30. 與GIT的多層web項目