我什么时候应该创建一个新分支?

时间:2013-03-26 09:26:08

标签: git branch versioning

我第一次使用git作为版本控制系统。 我正在开始一个新项目,因此要对项目中使用的技术进行一些实验(你好世界的例子......)我想创建类似“游乐场”分支的东西。创建一个新的分支“playground”或者我应该在master分支中创建一个名为playground的文件夹是常见的吗?

问候

5 个答案:

答案 0 :(得分:24)

在进行有点实验性的开发工作时,您应该创建一个新的分支。所以在你的场景中肯定会创建一个新的分支而不是master中的文件夹。如果您创建了沙箱作为主服务器中的目录,它将驻留在那里,直到您使用git删除它。将死代码置于主分支中并不是理想的,因为它可能会使其他开发人员感到困惑,并且可能只是在应用程序的生命周期中腐烂。

如果您的团队遇到错误,您不会希望他们浪费时间探索实验工作,以确定该目录中是否存在错误。创建新分支允许您将更改与主分支隔离。如果您的实验进展顺利,您始终可以选择将更改合并到主分支中。如果事情进展不顺利,您可以随时丢弃分支或将其保留在本地存储库中。

答案 1 :(得分:6)

分支有很多用途,它取决于您的工作流程。两个常用的工作流程是:

两者都使用所谓的主题分支来构建新功能,一旦准备好/接受就会合并回来。

Github流程相当简单,显然是github使用的。 Gitflow有点复杂,当你需要支持应用程序的几个版本时,它更适合。可以应用修补程序。

最后,您需要使用哪种工作流程,但是因为在git中创建分支非常便宜,所以创建的分支数量并不重要(最终会再次删除)。

答案 2 :(得分:3)

你应该通过实验来挑战,但是在游乐场里回购 回购中的游乐场目录将不太有益 玩游戏,犯错误学习一些东西 - 删除几次然后疯狂。

e.g。

$ mkdir playground  
$ git init
$ touch hello-world
$ git add hello-world
$ git commit -m "my first commit"
$ git branch goodbye
$ git checkout goodbye
$ echo "goodbye" | cat >>hello-world
$ git status
$ git add hello-world 
$ git commit -m "goodbye commit"
$ git merge master

我还建议用GitHub中你选择的语言抓取一个活动项目的分支,然后用实际代码合并,重新定位等。

答案 3 :(得分:3)

在这些情况下,您应该考虑创建新分支并对其进行处理: -

  • 当您想在沙盒环境中工作/测试时。

  • 优良做法是保持您的提交时间短暂如此频繁的提交可能会打扰其他人'开发区域因此,最好在分支上完成工作,然后将分支合并到主分支中。 [提示] 请记住,通过将主分支经常合并到您的分支,使分支与主分支保持同步。因此,在以后的某个时间点,您手动合并的内容并不多。

  • 您想解决一个错误。最好在其他分支上解决它并稍后合并。

  • 如果您的提交出错/破坏了您的构建,那么生产构建不会受到影响。所以我更喜欢使用至少两个分支dev分支和prod分支。当所有内容都经过全面测试后,将您的开发分支合并到生产分支。

答案 4 :(得分:1)

常见的方法是使用主分支作为实时分支。然后,您从主服务器创建新分支并处理它们(功能分支)。完成工作后,将更改合并回主服务器。

您可以构建新的远程分支,例如dev分支,并在您只想要预览时将更改合并到此分支。有一些方法,但谷歌有很多信息。

Branching and merging
Git branching model