29

如何git flow release finish以不要求合并提交消息的方式使用?正如我所料,该-m标志没有提供此功能。

当然,目标是能够以不需要交互的方式编写脚本。

4

8 回答 8

41

你可以设置环境变量

export GIT_MERGE_AUTOEDIT=no

git flow release finish -m 'Merge Message' release_branch_name

unset GIT_MERGE_AUTOEDIT

合并时它不会调用编辑器。

如果您切换到我的 fork git-flow AVH 版,您可以将此选项设置为仅在您使用 git-flow 时有效。

于 2013-01-27T23:18:26.787 回答
7

我在使用 -m 标志时遇到了问题。但是,如果您提供没有空格的消息,它会起作用。一定是个bug。

git flow release finish -m 'my_message_with_no_spaces' 1.2.3
于 2013-11-26T22:13:48.457 回答
4

git flow(或多或少)只是git命令的包装。弹出git-flow-*.sh你选择的打开,复制 git 命令,然后弄乱它们。在这种情况下,添加--no-editgit merge. 这种方法用一块石头杀死两只鸟:您可以将这些行复制到您的自动化脚本中。

于 2013-01-26T07:21:47.763 回答
4

我已经完成了:

git flow release finish -m "New release:$releaseVersion" -T
$releaseVersion -S $releaseVersion

哪里-m是提交消息,-T是标签消息,-S是壁球提交。现在一切都会自动运行:)

于 2020-11-09T15:24:52.167 回答
2

不幸的是,当前版本的 git-flow 没有开箱即用的方法来实现这一点。

通过查看源代码,用于合并的git命令是

git merge --no-ff

并且没有办法将--no-edit标志传递给它。

你可以做几件事:

  • fork 项目并插入此功能(可能作为可选标志)
  • 将其作为一项功能提出并等待开发人员实施
于 2013-01-26T04:19:20.643 回答
2

您可以传递-m标志以在命令行上指定标记消息。

合并仍有可能发生冲突,但标签操作不会尝试打开标签消息的编辑器。

git flow release finish -m "my awesome release" 1.2.3

https://github.com/nvie/gitflow/wiki/Command-Line-Arguments#git-flow-release-finish--fsumpkn-version

于 2013-07-12T03:00:30.037 回答
1

我不知道git flow,但如果它支持标准 git 标志,您可以使用该--no-edit标志来避免在自动设置中合并提交消息。

于 2013-01-26T04:02:34.537 回答
0

最后我通过这段代码得到了这个作品:

export GIT_MERGE_AUTOEDIT=no
git flow release finish "$newVer" -m "$newVer" -T "$newVer"
unset GIT_MERGE_AUTOEDIT
于 2021-12-25T13:52:06.500 回答