在两个单独的分支或存储库中管理项目后端和前端?

时间:2015-06-03 18:54:04

标签: git version-control

我启动了一个移动应用程序的项目,该应用程序将具有服务器端和应用程序本身。因此,在master分支中,我创建了2个项目myapp_servermyapp,然后我创建了2个其他分支backendfrontend,我想推送到单独分支仅与它们对应的项目文件。但是,f.e。在backend分支中,我只想放置项目文件,而不是父文件夹myapp_server本身。我应该为这个项目文件夹里面的单独分支制作一个git init吗?我只在包含两个主分支项目的目录中创建了git init

我怎么能真正做到这一点,因为我在这里有点困惑?这甚至可行吗?这是一个坏主意,我应该为服务器和应用程序提供2个独立的存储库吗?

2 个答案:

答案 0 :(得分:7)

TL; DR

  

我应该为服务器和应用程序提供2个单独的存储库吗?

是的,这是正确的方法。

详情。

分支通常会跟踪整个工作树的状态(这是Git控件下文件夹中所有内容的名称)。

这在一个存储库和两个分支的工作树中是不可能的:
myapp_server version amyapp version b

只有这样才有可能:
myapp_server version amyapp version b

您拥有的每个项目都应该拥有自己的Git存储库。这可以是独立存储库,也可以是git submodule。子模块是一个非常复杂的概念,对于这种情况来说是一种过度杀伤。

答案 1 :(得分:4)

这里真正的问题不是如果有可能破解git来实现这个目标(答案是肯定的),而是你为什么要这样做。这样的工作会让你做什么?此外,每个组件的2个独立存储库没有任何问题。

Btw分支只是一个指向提交的指针,这意味着是的,你可以在git存储库中拥有完全不相关的分支。