版本控制多应用程序项目的最佳方法是什么?

时间:2016-01-20 00:31:03

标签: git

我有一个涉及多个应用的​​项目。该网站包含所有应用程序,每个应用程序也有自己的cordova应用程序。 cordova应用程序的设置方式不同(与网站相比),但他们使用的一些代码是相同的(app.js,app.css等)。

目前我使用git并拥有3个分支,用于本地,alpha和beta版本的网站,正如我所说,包括所有应用程序。目前,我在网站上的每个应用程序之间复制/粘贴代码,每个应用程序与cordova相对应。它很混乱,会导致很多问题,但我无法弄清楚如何做得更好。有人可以建议一个可能的解决方案吗?

2 个答案:

答案 0 :(得分:1)

一体化存储库与每个项目的存储库不是更好的"或者"更糟糕"事情,他们有利有弊。一般来说,如果项目是相关的(例如,同一网站的更改),那么您应该将它们放在一个存储库中。你可以随时改变主意。

  

目前,我在网站上的每个应用程序之间复制/粘贴代码,并与每个应用程序相对应。

由于您的应用程序非常相关,您需要在它们之间复制代码,因此应将它们保存在单个存储库中。这允许您在一次提交中对所有项目进行相同的更改。

注意:您真正的问题不是您的Git布局,而是所有代码复制。你正在制造维护噩梦。你应该问一个关于如何更好地处理这个问题的问题。

答案 1 :(得分:1)

将所有项目保存在一个存储库中是一种简单的方法,可以使它们保持最新状态,但是,它可能会导致您有一个混乱的历史记录。我不确定您在应用程序之间复制代码的核心原因,但在理想情况下,此代码将位于库中,每个应用程序都将位于其自己的存储库中。如果您确实将所有应用程序放在一个存储库中,我不建议将它们放在不同的分支上,因为您一次只能签出一个应用程序。

关于您当前使用的分支系统,使用其他系统可以大大改善它。最受欢迎的系统之一是git-flow。

http://nvie.com/posts/a-successful-git-branching-model/

git flow模型的本质是使用master,release,develop和features分支(以及其他分支)来组织代码所在的状态。这可以看作是alpha的更高级版本,测试版和当地分支机构。