Git中分支的推荐用法

时间:2015-06-08 07:26:56

标签: git branch

我对Git比较陌生。我被告知建议的行为是为每个新任务创建一个不同的分支(可选择在完成后删除分支)。我发现this post也暗示了这一点。

但是,考虑到分支名称不能包含空格我不知道这是否正确,如果是,那么它有什么好处(而不是“回收”一些固定命名的分支,例如“ task1“,”task2“例如。)

5 个答案:

答案 0 :(得分:2)

永远不要将您的任务称为“task1”并重新使用它。你不妨把它称之为“开发”,只能在单个分支上运行......我相信你可以看到它会破坏分支点。

尝试使用下划线,并调用每个分支与手头任务相关的东西 - 如果你有一个bug /任务跟踪器,给每个分支调用bug号或者至少用足够的信息调用它,你可以看到你在做什么几个月后在那个分支上。

答案 1 :(得分:2)

您可以使用连字符或减号来替换空格,或者可以使用camelCase

该名称的主要目的是帮助您避免错误。避免严格的规则,这种规则可以是这样或那样的。最终,您会发现自己处于同时处理多个分支的情况。那时,你真的需要一个简单的命名方案,这对你的大脑有意义。

通常的做法是将JIRA或bugzilla ID用于分支名称,因为这样您就可以“链接”复杂信息。缺点是BUG-37145没说太多(除了你有太多的功能和/或错误)。

Github也可以提供帮助,因为你可以给拉取请求一个标题,用4-5个单词解释它包含的内容。

答案 2 :(得分:2)

使用git的工作流程很少:

  1. 集中回购(不是很有趣);
  2. 功能分支;
  3. GitFlow;
  4. 分岔。
  5. 我建议仔细查看this article

    关于分支名称,我建议使用功能命名,在其中实现,显然。例如,如果您计划实施“Actor系统群集”,请调用您的分支“actor-system-clustering”或“actor-clustering”(如果您更喜欢较短的名称)。 尽量不使用/符号,因为一些GUI应用程序(例如SourceTree)将其视为分组前缀,并将创建具有该前缀的文件夹。 这是由GitFlow命名策略引起的。

    如果您确实想要对某些分支进行分组,请为它们添加前缀,例如clustering/actor-clustering

    在我看来,最有趣的是GitFlow工作流程。它为您提供了发布,热修复,功能等的正式工作流程。

答案 3 :(得分:1)

为每项任务分配一个分支的优点是,您可以在执行任务时对主分支(或实际上是另一个任务分支)进行更改(例如,修补程序)。
如有必要,您可以将修补程序合并到任务分支中 稍后您可以将任务分支合并为主分支或重新分配它,以使您的历史记录看起来更清晰。这允许您在一段时间内处理任务(或同时执行多个任务),但是使每个任务仅在主分支中显示为单个提交。
如果您在一个小项目上独自工作,分支似乎是不必要的。不过习惯它是个好主意,因为你需要它,如果你曾经在一个有多人的大项目上工作。

答案 4 :(得分:0)

回答(来自评论):
“我理解在同时开发不同任务时使用不同分支的好处,但我仍然不明白我之后从分支机构获得了什么好处。我的意思是,我提交了一条描述变更的消息,一旦完成,我就推送所有我从分支到远程存储库的更改,但之后对分支有什么好处?“

完成任务后,分支机构再也没有真正的好处了。这就是为什么你可以删除它(正如你在问题中提到的那样)。只有在您实际处理任务时,拥有分支才有用。