代码之家  ›  专栏  ›  技术社区  ›  Karel Bílek

在单人git项目中使用分支明智吗?

git
  •  16
  • Karel Bílek  · 技术社区  · 16 年前

    现在该项目正在以某种方式工作,我只想实现一些新特性。问题是,我是否应该为每个新特性创建新分支,然后再将其合并回来?

    事实上,我的工作流程将只是改进“功能分支”,并在大多数情况下将其合并回未更改的“主分支”,因此创建新分支有意义吗?

    8 回复  |  直到 16 年前
        1
  •  23
  •   Tim Henigan    14 年前

    gitworkflows 手册页:

    要实现的几个修补程序,可能 在它的有生之年。

    集成分支会导致许多问题 问题:不能执行错误提交 撤消,因此它们必须恢复一个 由一个,这造成混乱 一组变化。并行工作 混乱

    使用“主题分支”可以解决这些问题 问题。

    • 如果您有一个需要很长时间才能完成的功能,那么使用功能分支可以轻松地暂停该功能的工作,以处理其他功能。
    • 如果您可能需要支持代码的多个版本(即当前版本为v2.0,但客户/用户正在使用v1.0),则使用主题分支可以轻松地将错误修复合并到多个版本中。
        2
  •  10
  •   Ben    16 年前

    我应该为每个分支创建新分支吗 之后

    是的,因为在实现该特性的过程中,您会在生产代码中发现一个停止播放的bug,您会感谢您能够做到这一点 git checkout master 返回到生产中的代码并修复它。我的规则是让我的主分支始终处于可部署状态。

        3
  •  3
  •   Anthony    16 年前

    我会说是的,对于我来说,每次我将代码推入生产环境时,我都会创建一个版本分支。因此,如果出现问题,我可以简单地返回到该分支,让修复程序推出修复程序,然后将代码更改合并回主干中。

        4
  •  2
  •   KFro    16 年前

    我想说这可能是个人的偏好,但在我所从事的一些单独项目中,有时至少为新工作创建一个分支是有用的,让主分支可以修复bug。当发现有人向现有版本报告bug时,我发现自己正处于一些新的工作中。在这种情况下,我可以很容易地搁置新代码并修复主分支上的错误,然后返回到我正在处理的事情。最后把它们合并在一起。

    不过,我通常不会针对每个新特性进行分支。我通常不会同时处理多个功能…只是偶尔处理一次,在这种情况下,这取决于两个功能在文件方面的重叠程度,这将导致我再次分支。

        5
  •  2
  •   Alec the Geek    16 年前

    我同意拥有功能分支,即使是在一个没有客户的一人小项目中。

    原因是工作流。如果您使用一个可以应用于所有项目的单一工作流,那么每次出错的机会就会减少,需要考虑的决策也会减少。如果你的“琐碎”项目突然开始了它自己的生活,它也会让生活变得更轻松:-)。

    (当然,一个单一的工作流程是一个理想的选择,但任何有帮助的工作流程都是如此……)

        6
  •  2
  •   Electrons_Ahoy    16 年前

    我非常喜欢制作各种功能分支,原因有两个:第一,你可以构建你的工作流程,这样主分支就可以随时发货(这很酷),第二,一旦你有了一系列功能分支的历史,在gitk或qgit中查看树会让您对代码库的历史有一种非常酷的高级感觉,而这是一行代码所不能做到的。

        7
  •  1
  •   posipiet    16 年前

    经验法则:如果您在开发过程中破坏了产品,请分支。 假设您在主干中发现一个bug,并希望修复它。

        8
  •  0
  •   Dror Helper    16 年前

    只要它能帮助你,它就有意义。

    这样,我就可以在很长一段时间内(阅读:多个提交)处理新功能。如果失败,我可以始终返回主分支,如果成功,我可以合并整个分支或仅合并有意义的更改。