【发布时间】:2012-03-12 15:08:44
【问题描述】:
我是版本控制的新手。我经常听到合并和分支这些词。我还看到不同的开发人员在不同的分支中工作。
谁能解释一下这个流程。合并和分支有什么区别。何时进行合并和分支
【问题讨论】:
-
可以参考这篇博客学习源码控制中的分支合并:Branch & Merge
标签: version-control branching-and-merging
我是版本控制的新手。我经常听到合并和分支这些词。我还看到不同的开发人员在不同的分支中工作。
谁能解释一下这个流程。合并和分支有什么区别。何时进行合并和分支
【问题讨论】:
标签: version-control branching-and-merging
在 git 的概念中, Branch 只是一个指向提交的指针,当您对该分支进行新提交时,它将被推进到新提交。 Git 有 2 种类型的分支:local 和 remote。 git 可以合并任何单个提交,而不仅仅是分支的负责人。 我以最简单的合并工作流程为例。 2 个开发人员正在开发一个项目。 他们基于相同的版本独立工作。 他们完成后通过服务器共享 master(主)分支。 第一个开发者 commit 更改并首先 push 到远程分支。然后,第二个开发人员通过拉第一个开发人员所做的更改来同步更改。 将自动创建合并提交。
【讨论】:
分支是指在特定历史中隔离开发工作,与主要历史平行。
请参阅“When should you branch?”:当您无法在当前分支上提交时您分支(因为它会破坏您同事的工作)
合并是为了协调两个不同的分支。
当您想在您的分支中考虑您需要合并的另一个分支的更改时,您可以合并。
工作流程取决于工具。
SVN 提供merge-based development or trunk-based development。
具有更简单分支功能的工具(例如 Git)提供workflow based on the various development lifecycle steps:
【讨论】: