Version control 源代码管理中的分支与合并

Version control 源代码管理中的分支与合并,version-control,merge,branch,Version Control,Merge,Branch,有人能用通俗易懂的英语解释这两种方法之间的区别吗?链接到一个好的、写得很清楚的教程也就足够了 谢谢。分支正在根据您的分支所在项目的状态启动新的开发线 合并是报告从一个开发线或开发线到另一个开发线之间的更改 所以很明显,在不同的时间点,你需要两者 链接: 它们不是不同的方法,而是同一枚硬币的不同侧面 如果使用分支进行开发,最终需要将它们合并在一起 要回答这个问题: 分支是源代码选定部分的副本,用于特定工作(功能、项目等) 合并是将两个分支同步并(通常)在过程中删除一个分支的行为 来自维基

有人能用通俗易懂的英语解释这两种方法之间的区别吗?链接到一个好的、写得很清楚的教程也就足够了


谢谢。

分支正在根据您的分支所在项目的状态启动新的开发线

合并是报告从一个开发线或开发线到另一个开发线之间的更改

所以很明显,在不同的时间点,你需要两者

链接:


    • 它们不是不同的方法,而是同一枚硬币的不同侧面

      如果使用分支进行开发,最终需要将它们合并在一起


      要回答这个问题:

      分支是源代码选定部分的副本,用于特定工作(功能、项目等)

      合并是将两个分支同步并(通常)在过程中删除一个分支的行为


      来自维基百科:

      分支机构

      版本控制下的一组文件可以在某个时间点进行分支或分叉,以便从那时起,这些文件的两个副本可以以不同的速度或以不同的方式彼此独立地开发


      合并

      合并或集成是对一个文件或一组文件应用两组更改的操作。一些示例场景如下所示:

      • 处理一组文件的用户将其工作副本与其他用户所做的更改进行更新或同步,并将其签入存储库
      • 用户尝试签入自文件签出后由其他人更新的文件,版本控制软件会自动合并这些文件(通常是在提示用户是否应继续自动合并后,并且在某些情况下,只有在合并可以清楚合理地解决时才这样做)
      • 一组文件被分支,分支之前存在的问题在一个分支中修复,然后修复合并到另一个分支中
      • 创建分支,独立编辑文件中的代码,然后将更新的分支合并到单个统一主干中

      在简单的英语中,分支就像“树的分支”,其中树是您的软件产品,分支是其中的一个特殊部分,它从中柱“延伸”,但有自己的特性

      在现实生活中,如果您必须以稍有不同的方式支持两个客户,那么您的软件就会有一个分支。然后是核心产品(A)和特定于客户的产品(B和C),它们基本上都是核心产品,只是有一些小的变化

      合并是将这个特定于客户的分支(B或C)与您的核心产品(A)重新集成。如果你实现了一个很好的功能,分支B,你希望每个人都能拥有它,那么你可以将它合并到核心产品a中。我不认为你可以“反对”合并和分支

      正如我在“”中所解释的,当您想要隔离开发工作时,您可以进行分支

      一旦你有了一个分支,你(和其他开发人员)可以对其进行改进(重构?增强?错误修复?…),你要问的关键问题是:

      “您应该如何处理该分支的内容?”

      换句话说,你是让它单独存在,还是把它的所有进化重新整合到另一个分支中。这就是合并。
      但仅仅合并是不够的。合并的目的是什么:从哪里到哪里合并代码

      定义您的工作流程,您将真正利用SCM的优势