【问题标题】:Should I separate client and server side of my project into two Git repositories, or keep them in one?我应该将项目的客户端和服务器端分成两个 Git 存储库,还是将它们放在一个存储库中?
【发布时间】:2011-10-12 16:46:33
【问题描述】:

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

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

拥有两个不同的存储库是否更好,一个存储服务器,另一个存储客户端代码?还是应该保持现在的样子?

【问题讨论】:

    标签: git


    【解决方案1】:

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

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

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

    引用Android open source development

    可以找到更多关于repo的参考。

    【讨论】:

      【解决方案2】:

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

      如果您现在遇到冲突,那么将其拆分为两个存储库对您没有任何帮助...大概您的分支仍会更改服务器代码,但现在您只需合并两个存储库即可之一。如果您尝试使用此方法而不是您现在正在做的事情,我希望您会遇到相同的冲突,并且维护两个存储库会产生更多的管理开销。

      【讨论】:

        猜你喜欢
        • 2010-09-12
        • 1970-01-01
        • 1970-01-01
        • 2013-01-22
        • 2012-01-22
        • 2011-10-21
        • 1970-01-01
        • 2011-10-03
        • 1970-01-01
        相关资源
        最近更新 更多