Git功能确实使其与几乎所有其他SCM区别开来的是它的分支模型。
Git允许并鼓励您拥有多个可以完全相互独立的本地分支。创建,合并和删除这些开发线需要几秒钟。
这意味着您可以执行以下操作:
无摩擦环境切换。创建一个分支来尝试一个想法,提交几次,切换回你分支的位置,应用补丁,切换回你正在试验的地方,并将其合并。
基于角色的代码行。有一个分支,它总是只包含生产的东西,另一个你合并用于测试的分支,以及几个较小的分支用于日常工作。
基于特征的工作流程。为您正在处理的每个新功能创建新的分支,以便您可以在它们之间无缝切换,然后在该功能合并到主线时删除每个分支。
一次性实验。创建一个分支进行实验,意识到它不会起作用,只是删除它 - 放弃工作 - 没有其他人见过它(即使你在此期间推动了其他分支)。
分行
值得注意的是,当您推送到远程存储库时,您不必推送所有分支。您可以选择仅共享其中一个分支,其中一些分支或全部分支。这往往会让人们尝试新的想法,而不必担心必须计划如何以及何时将其合并或与他人分享。
有一些方法可以通过其他系统完成其中的一些工作,但所涉及的工作要困难得多且容易出错。Git使这个过程变得异常简单,它改变了大多数开发人员学习时的工作方式。