所以我在同一个存储库中有两个不同的项目,一个用于客户端,另一个用于服务器端(它们不共享任何代码)。
当我从master分支并在客户端项目上进行更改然后我想合并回master(大约一个月后),我面临与服务器端代码的合并冲突(其他团队成员在服务器端)。
最好有两个不同的存储库,其中一个存放服务器而另一个存放客户端代码?或者我应该按现在的方式保持它?
答案 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上的更多参考号。