我应该将项目的客户端和服务器端分成两个Git存储库,还是将它们保存在一个存储库中?

时间:2011-07-25 15:20:28

标签: git

所以我在同一个存储库中有两个不同的项目,一个用于客户端,另一个用于服务器端(它们不共享任何代码)。

当我从master分支并在客户端项目上进行更改然后我想合并回master(大约一个月后),我面临与服务器端代码的合并冲突(其他团队成员在服务器端)。

最好有两个不同的存储库,其中一个存放服务器而另一个存放客户端代码?或者我应该按现在的方式保持它?

2 个答案:

答案 0 :(得分:4)

如果您打算同时部署新版本的客户端和服务器软件,那么将它们放在同一个存储库中是有意义的。您说客户端和服务器端代码不共享任何代码,因此合并时不应该有任何冲突。但是你也说过你有冲突,所以听起来两个分支上的开发人员都在对服务器端代码进行更改。最好的解决方案是:a)告诉客户端开发人员不要更改服务器端代码,b)更频繁地合并,以及c)在进行可能难以合并的更改时,团队之间进行通信。

如果您现在遇到冲突,那么将其拆分为两个存储库对您没有任何帮助...可能您的分支仍然会对服务器代码进行更改,但现在您只需要两个存储库来合并一个。如果您尝试使用此方法而不是现在正在执行的操作,我希望您会遇到相同的冲突,并且维护这两个存储库会有更多的管理开销。

答案 1 :(得分:0)

要解决的第一件事:为什么客户端代码与主端代码存在合并冲突。假设两者都在处理不同的文件。

其次,而不是在两个项目上使用一个git存储库。 我建议你将两个项目分成两个git存储库,并使用repo同时管理这两个存储库。

  

Repo是我们在Git之上构建的存储库管理工具。   Repo在必要时将许多Git存储库统一起来   上传到我们的修订控制系统,并自动化部分   Android开发工作流程。 Repo并不仅仅意味着取代Git   在Android环境中使用Git更容易。回购   command是一个可以放在任何地方的可执行Python脚本   你的道路。在使用Android源文件时,您将使用Repo   用于跨网络运营。例如,使用单个Repo命令   您可以将多个存储库中的文件下载到本地   工作目录。

引自Android open source development

可以找到repo上的更多参考号。

相关问题