【问题标题】:Git repository setup for a project that has a server and client具有服务器和客户端的项目的 Git 存储库设置
【发布时间】:2013-01-22 03:51:48
【问题描述】:

我是一个正在启动的项目的一部分,该项目将具有一个客户端可执行文件和一个服务器可执行文件。我们正在使用 git 来帮助我们的团队更新代码,这对于我们许多人来说是第一次使用 git(这个项目是针对一个班级的)。我开始为我的项目设置 git 存储库以供使用,但我不确定拥有客户端和服务器代码的最佳设计是什么。

那么问题来了,应该如何设置存储库?两者之间不会有太多的代码共享,除了网络。然而,我们将两者之间的网络视为最重要的方面,并希望保持两者使用相同的网络概念。我已经对顶部进行了一些研究,我看到了一些可能性,两个独立的存储库,我们必须确保两个代码相互兼容,还是我们使用一个存储库?

对于这个相当新的方法,我很抱歉,我已经阅读了“Git Pro”,但还没有太多使用 git 与多人合作的项目的经验。

【问题讨论】:

    标签: git client-server


    【解决方案1】:

    如果客户端和服务器彼此相当独立,那么它们很适合放在自己的 git 存储库中。这是component approach

    你可以有三个回购:

    • 客户
    • 服务器
    • 网络(常用模块)

    Git 中的 submobules 可以很好地记录您在系统中一起使用的确切 SHA1。
    所以你可以定义 2 个父母 repo:

    • 客户端应用

      • 客户
      • 网络
    • 服务器应用

      • 服务器
      • 网络

    这个想法是能够判断客户端和服务器是否使用相同或不同版本的网络。

    所有设置对于类项目来说可能有点过头了,但可以说明系统方法(一个巨大的 repo 中的所有内容)和组件方法之间的区别。

    在不同的 git repo 中分离允许独立的标记和分支。

    【讨论】:

    • 这听起来是最好的方法。我试过了,但遇到了一些问题,它没有更新其他存储库中网络子模块的更改,但我想我可以解决。谢谢。
    【解决方案2】:

    您应该使用单个存储库,因为它可以包含多个项目/解决方案/构建可执行文件的任何其他内容。

    一般来说,我会按照您希望在本地组织它的方式来组织它。没有理由偏离适合你的方式来适应 git。

    我建议建立一个所有各方都可以访问的github 存储库。

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 2011-10-12
      • 2017-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多