`git flow release finish`非交互式

nic*_*des 21 git command-line git-flow

我如何git flow release finish以不要求合并提交消息的方式使用?该-m标志不提供这一点,因为我的预期.

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

Pet*_*oes 30

您可以设置环境变量

export GIT_MERGE_AUTOEDIT=no

git flow release -m 'Merge Message' release_branch_name

unset GIT_MERGE_AUTOEDIT
Run Code Online (Sandbox Code Playgroud)

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

如果切换到我的fork git-flow AVH Edition,您可以将此选项设置为仅适用于使用git-flow时.

  • 注意:使用`unset GIT_MERGE_AUTOEDIT`将其关闭(在脚本结束时,因为如果您正在阅读此问题,那么您正试图编写git-flow脚本) (6认同)
  • 您可以避免在许多 shell 中取消设置 GIT_MERGE_AUTOEDIT,只需在命令期间设置它:`GIT_MERGE_AUTOEDIT=no git flow release finish -m 'Finished.'。1.0.0` (3认同)
  • 还需要`-m`合并消息,否则将显示编辑器。并且必须在命令行参数中的release分支名称之前指定它。 (2认同)

小智 7

我在使用 -m 标志时遇到了麻烦。但是,如果您在没有空格的情况下发送消息,则它起作用了。应该是bug。

git flow release finish -m 'my_message_with_no_spaces' 1.2.3
Run Code Online (Sandbox Code Playgroud)


小智 6

我已经做完了:

git flow release finish -m "New release:$releaseVersion" -T
$releaseVersion -S $releaseVersion
Run Code Online (Sandbox Code Playgroud)

其中-m是提交消息,-T是标记消息,-S是挤压提交。现在一切都会自动进行:)


Chr*_*her 1

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