如何git flow release finish
以不要求合并提交消息的方式使用?正如我所料,该-m
标志没有提供此功能。
当然,目标是能够以不需要交互的方式编写脚本。
如何git flow release finish
以不要求合并提交消息的方式使用?正如我所料,该-m
标志没有提供此功能。
当然,目标是能够以不需要交互的方式编写脚本。
你可以设置环境变量
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 时有效。
我在使用 -m 标志时遇到了问题。但是,如果您提供没有空格的消息,它会起作用。一定是个bug。
git flow release finish -m 'my_message_with_no_spaces' 1.2.3
git flow
(或多或少)只是git
命令的包装。弹出git-flow-*.sh
你选择的打开,复制 git 命令,然后弄乱它们。在这种情况下,添加--no-edit
到git merge
. 这种方法用一块石头杀死两只鸟:您可以将这些行复制到您的自动化脚本中。
我已经完成了:
git flow release finish -m "New release:$releaseVersion" -T
$releaseVersion -S $releaseVersion
哪里-m
是提交消息,-T
是标签消息,-S
是壁球提交。现在一切都会自动运行:)
不幸的是,当前版本的 git-flow 没有开箱即用的方法来实现这一点。
通过查看源代码,用于合并的git命令是
git merge --no-ff
并且没有办法将--no-edit
标志传递给它。
你可以做几件事:
您可以传递-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
我不知道git flow
,但如果它支持标准 git 标志,您可以使用该--no-edit
标志来避免在自动设置中合并提交消息。
最后我通过这段代码得到了这个作品:
export GIT_MERGE_AUTOEDIT=no
git flow release finish "$newVer" -m "$newVer" -T "$newVer"
unset GIT_MERGE_AUTOEDIT