繁体   English   中英

Gitflow - 为什么当我完成一个功能分支时没有打开编辑器?

[英]Gitflow - Why does no editor open when I finish a feature branch?

我在 linux 上使用 gitflow。

当我完成一个修补程序分支时,我的 vi 编辑器会打开,我可以编写合并消息。 合并消息现在在提交历史中。

但是当我完成功能分支时,没有打开 vi 编辑器,我不能写没有合并消息。 所以提交历史中没有任何痕迹。

这很烦人。 有人可以解释我为什么吗? 是配置问题吗?

要创建功能分支: git flow feature start feature_branch

完成一个功能分支: git flow feature finish feature_branch 根据文档完成类似于: git checkout develop git merge feature_branch

尽管多年来我一直在使用 Git Flow 分支策略,但我承认我以前从未使用过git flow命令,但我只是对其进行了测试,可以确认您所看到的内容,尽管需要进行一些说明。

据我所知,您永远不会被提示为任何合并提交编写提交消息 然而,当你完成一个hotfixrelease分支时,你会被提示写Tag message ,这恰好也包含在合并提交消息的细节中(在提交标题下面),所以看起来你在写合并提交信息。 由于仅标记了版本和修补程序,这就是为什么在完成功能分支时不会提示您使用编辑器的原因。

关于--no-ff合并,有以下规则:

  1. 完成发布修补程序分支时,始终使用--no-ff标志执行合并。
  2. 完成具有 2 个或更多新提交的功能分支时,将使用--no-ff标志执行合并。
  3. 当完成一个刚好有 1 个新提交的功能分支时,将使用--ff标志(这也是合并的默认值)执行合并。

请注意,在第三条规则中使用-ff意味着它会在可能的情况下进行快进,这意味着有时会避免合并提交,这很有趣,因为 AFAIK 在 Git Flow 文档中的任何地方都没有建议这样做。 这确实有意义,因为当您只有一个提交要合并时,强制合并提交不会获得任何信息。它仍然适用于显示所有已完成功能分支的develop分支的--first-parent视图。

旁注:当我个人使用 Git Flow 时,我总是强制合并提交,即使是单次提交合并,因为我在自定义的合并提交消息中添加了额外的 PR 信息。 这是我不使用git flow命令的原因之一。 (此外,我们的 SCM 工具无论如何都会处理已完成的合并请求,因此没有人会自己“完成”任何事情。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM