我如何使用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
当您进行合并操作时,它不会调用编辑器。
如果您切换到我的分支git-flow AVH Edition,您可以将此选项设置为仅在使用git-flow时生效。
GIT_MERGE_AUTOEDIT=no git flow release finish -m 'Finished.' 1.0.0
。这样翻译后的内容与原文意思相同,但更加通俗易懂。 - tbm我在使用 -m 标志时遇到了麻烦。但是如果您提供没有空格的消息,它就可以正常工作。这一定是一个错误。
git flow release finish -m 'my_message_with_no_spaces' 1.2.3
flags:FATAL 可用的 getopt 不支持选项中包含空格
。 - tbm我已经完成了它。
git flow release finish -m "New release:$releaseVersion" -T
$releaseVersion -S $releaseVersion
这里的-m
是提交信息,-T
是标签信息,-S
是压缩提交。现在一切都将自动工作 :)
git flow
(或多或少)只是git
命令的包装器。打开您选择的git-flow-*.sh
,复制git命令,然后对其进行修改。在这种情况下,在git merge
中添加--no-edit
。这种方法一举两得:您可以将这些行直接复制到自动化脚本中。
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
最终我通过这段代码使它工作了:
export GIT_MERGE_AUTOEDIT=no
git flow release finish "$newVer" -m "$newVer" -T "$newVer"
unset GIT_MERGE_AUTOEDIT