我们使用Vincent Driessen的A successful Git branching model作为我们的分支模型。一切都很好,但我还没有真正看到一个特定的问题。
根据我的理解,当需要新功能时,您可以分支development
并创建一个新的feature
分支。您将处理此问题,并在完成后,将此分支合并到development
分支中。
如果开发人员创建了一个功能,然后将该功能合并回development
,那么只会发现功能代码中存在一些错误。应该在哪里修复?是否应该从开发中启动新的fix
/ bugfix
分支并修复代码?我看不到另一种方式。
应该怎么做呢?
由于
答案 0 :(得分:10)
请记住,模型只是一个模型 - 它是为您提供一种结构,使您更有效率,而不是盲目地遵循一套规则。这意味着你应该随意调整一下并找出适用于你情况的东西,因为它可能不适用于所有情况。
我认为你可以选择这种情况:
您选择哪一个取决于以下因素:
从Git的角度来看,功能分支和bugfix分支之间的区别并不重要。只有将这些标签用于内部文档或其他审计目的(例如,跟踪外部用户可见的内容)时才重要。
即使您认为错误修复程序非常快,也要抵制直接从开发分支工作的诱惑 - 没有什么比看起来那么简单,如果出现任何问题,您将在以后给自己带来麻烦。
您选择的粗略视觉表现:
答案 1 :(得分:4)
finding the commit that introduced the bug, and creating a new branch rooted there怎么样?采用这种方法:
答案 2 :(得分:1)
如果该功能分支是公共功能分支(即推送到其他人克隆/使用的远程仓库),最好创建一个新分支并在所述修复分支中隔离调试。
(而不是试图在“feature
”分支的顶部重新设置“develop
”分支。
我们的想法仍然是不直接在develop
分支中记录中间调试提交,而是仅记录将首先修复由feature
分支合并引入的错误的结果提交。
答案 3 :(得分:0)
只需创建一个分支(或使用旧的,合并的feature
分支)并在那里修复它。
使用旧分支/创建新分支是一样的 - 你不能说出合并后的分支。