我应该为单个提交创建一个分支吗?

时间:2011-09-29 21:18:28

标签: git git-branch

我是Git的新手和分支。在我们的团队中,我们有一堆网站需要简单维护(添加新页面,修复一些链接等)。提交通常包含所有请求的功能。我不确定我们是否应该创建一个分支,或者我们是否可以承诺掌握?毕竟,这些提交已经命名,并清楚地说明了我们所做的工作。我觉得分支实际上为这些简单的任务创造了更多的复杂性。或者我错了?

5 个答案:

答案 0 :(得分:1)

作为一个粗略的准则:

存在更新分支状态的存在,并且分支作为代码库的替代视图存在。

如果您的更改可以被视为主分支的“向前移动”,那么您应该只使用提交。如果你要做一些主分支的“替代现实”,你应该做一个不同的分支。

在这种情况下,如果我了解你的情况,我猜你真的真的在更新代码库的状态,所以我只是提交你的更改。

在这方面,Git类似于任何SCM。 Git与分支的不同之处在于分支很容易创建并且(有些)易于合并。这意味着常见的工作流程是将master分支到正在进行的新功能的工作中,然后进行编辑。当您满意时,您可以将您的分支合并为主分支。这只是对直接提交的改进 - 你正在创建一个不稳定的主人的“替代现实”,改进它,然后将它合并回真正的主人 - 但净效果是相同的:你在备用的提交现实最终登陆大师,好像你总是让他们在那里。所有这些变形的最终目标是您的提交在变化时间内呈现线性前进。

答案 1 :(得分:0)

分支确实会增加复杂性,但同时它们会为您提供更多功能。一旦你开始分支,你可以很容易地将它们洗牌,从一个而不是另一个进行更改,等等。 对于简单的场景,只需要在主分支上工作就足够了(它变得非常类似于svn使用)。 你必须找到最适合你需要的git。 Here is a good resource.

答案 2 :(得分:0)

我可以建议看看Git流吗? http://nvie.com/posts/a-successful-git-branching-model/

https://github.com/nvie/gitflow

有些人说你应该尽可能避免分支,但我认为git flow可以为你让人们同时处理不同功能的环境提供一个很好的解决方案。

答案 3 :(得分:0)

Git的一个美妙之处在于它适应了许多不同的工作方式。

  • 您可以为每个更改创建一个分支,或者根本不创建一个分支。
  • 您可以使用在开发人员之间共享的远程分支,或仅使用本地分支。
  • 您可以合并分支并使分支可见,或者您可以重新进行变基和快进合并,这样您的历史记录就不会显示一条平行线。

我们在这里告诉你的任何事情都只是个人喜好。我个人的偏好是始终任何类型的更改创建本地分支。那是因为:

  • 我已启用no-ff,如果他们有相关的合并提交,则很容易退出更改或一系列更改。
  • 很容易让几个不同的变化混淆起来。当一个紧急的变化出现时,我可能正处于非紧急变革的中间。您可以使用git stash来保存更改,但我发现单独的分支不那么令人困惑。 (通常我会用“正在进行中工作”的提交消息检查我的工作。然后当我返回分支时,我会git reset HEAD~1撤消最后一次提交[但保留更改]并继续工作。 )
  • 有一个分支鼓励我创建较小的提交(更少的更改),这使得以后更容易合并它们。

这些是考虑始终创建分支的一些原因。尝试一下,看看它是否适合你,然后把它作为一种新技术保存,如果你不关心它就丢弃它。

答案 4 :(得分:-1)