客户端和服务器的 Git 分支结构

2024-05-01

对于我的一门计算机科学课程,我和一个小组正在使用客户端/服务器架构编写一个应用程序。我很好奇在 Git 存储库中组织项目的最佳实践是什么。我的意思是,我们是否应该像这样构建目录:

ProjectDir/
    Clients/
        Client1/
            # files...
        Client2/
            # files...
    Server/
        files....

并跟踪同一个 git 分支上的所有内容,或者我们是否应该为客户端和服务器创建单独的分支,例如:

在树枝上Server:

Project/
    Server/
        # files...

在树枝上Clients:

Project/
    Client1/
        # files...
    Client2/
        # files...

我不知道这是否有很大的不同,但这将是我使用 git 进行的第一个项目,其中团队由几个人组成,我想确保拉取和合并尽可能简单...


我不确定你的背景是什么,但我听到来自 SVN 等中央 VCS 的人一遍又一遍地问同样的(类似)问题。 SVN(集中式)和 Git 分支之间的根本区别在于,相比之下,Git 分支非常轻量且容易。毕竟,在 Git 中,分支只不过是一个带标签的提交(并且该提交指向一个提交,该提交又指向一个提交,一直向下直到分支汇聚)。

在 SVN 中,通常将完全独立的项目作为单独的子目录托管在同一存储库中。这些不是分支,但在 SVN 中它们看起来与分支没有什么区别(在 SVN 中分支只不过是子目录)。但是,您应该了解什么是分支 http://en.wikipedia.org/wiki/Branch_%28software%29。分支是同一软件的两个近似副本,它们正在并行修改和开发。如果您不确定是否有分支,请问问自己这些分支是否会或可能会聚合。如果让分支聚合永远没有意义,那么它们可能根本就不是分支。

在您的客户端-服务器程序中,我建议您的客户端和服务器不是分支。相反,它们是单独的存储库。如果您希望单独查看它们的历史记录,请将它们放在单独的存储库中。如果您想一起查看它们的历史记录,请将它们放在同一个存储库中但位于不同的目录下。

Git 的一个有趣的功能是,由于它的分布式特性,您可以在单独的存储库中维护客户端和服务器,然后将它们作为不同的分支推送到同一存储库中。除了疯狂地试图理解之外,没有什么区别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

客户端和服务器的 Git 分支结构 的相关文章

随机推荐

  • Jasmine 不会从资源管道加载 javascript 文件

    我正在开发一个 gem 并且我已经安装了 Jasminehttps github com pivotal jasmine gem https github com pivotal jasmine gem 我所需的所有 JS 文件都位于 ap
  • Jupyter:禁用重启内核警告

    我使用的是 jupyter 4 1 0 我发现自己经常使用 重新启动并运行全部 功能 每次我使用该按钮时 它都会显示此警告 有没有办法禁用该警告 您可以在笔记本中添加一个单元格并使用以下语句 from IPython core displa
  • 在循环内重新声明 for 循环变量时出错

    考虑以下 C 程序片段 for int i 0 i lt 5 i int i 10 lt Note the local variable printf d i 它编译时没有任何错误 并且在执行时给出以下输出 1010101010 但如果我用
  • ios7 中的自动续订订阅

    我知道这个问题已经被问过很多次了 但没有一个问题对我有帮助 而且我不确定这些答案中哪些在 iOS 7 中仍然有效 我正在做一些带有自动续订订阅的应用程序 我已经成功创建了我的产品 我可以与测试用户一起购买它 我的问题是 检查特定用户是否仍然
  • MouseOver CSS3D效果与javascript

    我正在尝试实现这样的 mouseOver 效果 我能够根据每个图块的位置生成所需的 css3d 矩阵 我通过缓慢的鼠标移动实现了这种效果 但是如果我从一个图块快速移动到另一个图块 则它无法正确更新 它在瓷砖之间显示出间隙 更新鼠标悬停时所有
  • 无法弹出 expo 以做出本机反应

    I want to eject expo to bare react native cli but i can t because I am not able to enter android package name when asked
  • 更好的 cout 又名计数;

    伙计们 编写 countn 会很困难 它基本上会在输入的末尾放置换行符 在使用控制台时 这就是我目前所能做的 我发现每次我希望该行成为新行时都编写 n 非常乏味 或者也许它已经实施了 要避免单行上的多次注入 您可以使用临时对象 该临时对象将
  • 使用 selectExpr 选择其中包含特殊字符的 Spark 数据框列

    我所处的场景是我的列名称Munic pio字母上有重音 My selectExpr命令因此失败 有办法解决吗 基本上我有类似以下的表达式 selectExpr CAST Munic pio as string as Munic pio 我真
  • CSS BETWEEN 选择器?

    我理解 相邻选择器 我想做的是根据元素两侧的 div 上的类来更改元素的样式 例如 div class positive div div class divider div div class negative div 正 和 负 类具有不
  • Kotlin 数据类中可变集合的防御性副本

    我想要一个接受只读列表的数据类 data class Notebook val notes List
  • 为什么 EXC_BAD_ACCESS 如此无用?

    首先我要说的是 我有 Flash AS3 的背景 我意识到 Flash AS3 对大多数事情的要求并不像 iPhone Objective C 那样严格 我怀疑我的问题实际上也适用于 AS3 但让我问它与 Obj c 有关 为什么错误 EX
  • 带有 Grails 的 AOP

    我想在我的 Grails 项目中创建自定义日志记录注释 My code class MyService AuditLog def method1 println method1 called method2 AuditLog def met
  • 当我传递多个范围时,Microsoft Graph 权限范围引发错误

    我需要以编程方式将文件上传到 OneDrive 我不会有前端来生成密钥 因为我需要在没有用户交互的情况下生成它们 这就是我的问题 我已经成功地通过一个简单的 POC 做到了这一点 但它必然需要用户交互 因为它使用登录名和密码凭据对 Micr
  • grunt-bower-task 和 Polymer

    我似乎找不到简单的复制方法all文件来自Polymer使用咕噜鲍尔任务 grunt initConfig bower install options targetDir wwwroot lib layout byComponent inst
  • 安装 SSDT VS 2015 17.3 和 17.4 时出错 - 系统找不到指定的文件

    我已在 VS 2017 上成功安装 SSDT 2017 但是 我们有一些较旧的 SSIS 包和 SSRS 报告 我需要 VS SSDT 2015 我安装了 VS 2015 Enterprise 我正在尝试安装 SSDT 2015 17 3
  • 从 PHP 和 Timber/Twig 中的高级自定义字段中对转发器字段进行排序

    我正在尝试使用 Twig 1 34 的 WordPress Timber 插件实现对 WordPress 插件高级自定义字段 ACF 的转发器字段的输出进行排序 下面从 ACF 排序的基本 PHP 示例来自https www advance
  • 将自定义累积函数应用于 pandas 数据框

    我有一个按以下顺序排序的数据框date df pd DataFrame idx 1 1 1 2 2 2 date 2016 04 30 2016 05 31 2016 06 31 2016 04 30 2016 05 31 2016 06
  • Android-数据在微调器中分配,但选择时不显示微调器中的值

    Problem我正在使用 Retrofit 从 mysql 获取一些产品类别 数据即将到来并在微调器中分配 但是当我选择一个项目时 它不会显示 在下拉菜单中 项目已分配 并且 setOnItemSelected 侦听器也正在工作 但所选项目
  • 在 Emacs 中自动完成 Bibtex 文件中的 Pandoc 风格引文

    Pandoc 风格的引文 Pandoc http www johnmacfarlane net pandoc 使用 Markdown 格式 支持使用 BibTeX 文件中的键自动引用 该格式的一些示例如下 Blah blah doe99 B
  • 客户端和服务器的 Git 分支结构

    对于我的一门计算机科学课程 我和一个小组正在使用客户端 服务器架构编写一个应用程序 我很好奇在 Git 存储库中组织项目的最佳实践是什么 我的意思是 我们是否应该像这样构建目录 ProjectDir Clients Client1 file