开发函数时,如果在其他函数中发现错误,您会做什么?
例如,有几个大功能: User
[需要开发UserControl,UserModel,UserService]和Admin
, Post
, Comment
。
现在你在features/post
分支,开发职位相关的功能。 但是您遇到与User
相关的功能中的一些错误。
所以就gitflow而言,建议的方法是什么?
添加TODO
或Fix me
与用户相关的功能,并修复完成后的发展和合并代码掌握后的错误?
隐藏未完成的帖子相关代码,创建fix
分支,修复bug,合并到features/post
,隐藏弹出未完成的帖子相关代码,然后继续?
你可以自由地修复你喜欢的任何东西,不管它是否与你正在处理的“主题”有关。
然后使用git commit --patch
来仅添加提交遵守主题的更改。 (非常值得了解这个工作流程的所有细节,包括如何将胖子分成更小的变化,以及如何编辑无法分割的混蛋,但包含想要的和不想要的变化的混合物)。
当主题提交全部使用一个或多个git commit --patch
操作完成时,工作副本中的所有内容都是离题更改。 在这一点上,你可以git checkout
到另一个分支去提交这些,如果合适的话,使用git stash save
和git stash pop
来解决任何抱怨,你已经取消了更改。
如果一切都在同一个分支,那么顺序可能并不重要。 你可以直接git commit --patch
你发现的bug修复,然后继续这个话题。 如果修补程序处于正在进行的主题修复过程中,则始终可以通过git rebase -i
:以交互方式对其进行重新绑定,以使主题提交合并在一起,并且附带的修补程序位于之前或之后。
在我的软件组织中,我必须创建一张票并获取此附带错误修正的错误号,然后将其提交给Gerrit以供审查。 如果看起来很明显,看起来会得到快速和轻松批准,那么我会先做这件事,在我正在做的“重量级”更改之前。
我没有发现GitFlow定义了这一点。
对我来说,基于对BUG的批评,我会决定立即修复它,或者添加TODO来修复它。
我没有将它与目前的开发功能一起修复到同一个分支,因为这会让我的队友在查看我的源代码时感到困惑。
我没有特别关注git-flow,但这是我尝试做的事情:
git-worktree
,或者使用git-worktree
。 或者,你可以在当前分支中作为离散提交来修复它,然后git cherry-pick
它到上游分支和git rebase
将其从当前分支中删除。
上一篇: What do you do when you find a bug in other function when develop a function?