GIT项目有几个项目

时间:2015-04-27 14:02:17

标签: eclipse git mobile

我有一个使用Titanium构建的移动应用程序,我正在向我的客户销售。 我有一个主要的源代码,我更新,然后为每个客户复制/修改项目,并为App Store构建。 2-3项目很容易,但现在我遇到了一个大问题。我是Git的新手,我想问一下是否有办法轻松管理这个项目。 例如,更改我的源代码,然后自动将更改推送到其他项目。我应该使用分支来实现这一目标吗? 注意:我的源代码文件夹位于所有项目的同一文件夹中,因此修改中没有任何更改。我有其他用于UI自定义的文件夹和其他图像文件夹

2 个答案:

答案 0 :(得分:1)

您通常会有一个与项目无关的master分支和几个projectX分支。任何特定于所有项目的内容都将在master上开发。 project分支将合并master的所有更改。

要在分支之间切换工作树,可以使用命令git checkout projectX命令。然后使用git merge master从master中导入提交。

或者,当您想要同时访问所有项目的源代码时,可以使用单独的存储库而不是分支。为不同目录中的每个项目创建一个主git存储库和一个单独的git存储库。在每个项目上,将master-repository设置为要从中拉出的源。要从主存储库导入,您可以使用git pull代替git merge

如果要自动化项目分支/存储库的合并/提取,我建议您使用shell脚本,该脚本会自动为每个项目执行此操作。为了更加奢侈,您可以将其设置为主分支的post-commit hook。但请记住,由于合并冲突,拉动可能会失败。

答案 1 :(得分:1)

最好的建议可能是花一天时间熟悉git,尽可能多地阅读它,然后玩弄它。谷歌搜索" git workflows"收益率为these两个documents。文档通常涉及"分布式"工作流程(有多个人),但您可以应用相同的技术来管理项目。

简而言之,是的,分支机构会帮助你。如果没有对您的设置有更深入的了解,我建议使用一个开发分支,其中所有的每个客户端分支都会脱离它。然后,您可以定期将开发分支合并到每个客户端分支以发布您的应用程序。如果您一次处理多个功能,您还可以将功能分支合并到开发分支中,然后将其合并到每个客户端分支中。

为了使这个过程尽可能轻松,我尝试自动化。尝试将每个应用程序信息分解为配置文件(构建时或运行时配置),并为所有这些信息提供公共代码库。尽可能自动化构建过程。如果在合并分支时经常遇到合并冲突,请考虑如何重构代码以便将来解决此问题。