从docs of gitflow我看了以下内容:
git flow hotfix finish [-Fsumpkn]
-F 在执行完成之前从$ ORIGIN获取 -s 以加密方式签署发布代码 -u 使用给定的GPG密钥进行数字签名(隐含-s)
-m 使用给定的标记消息
-p 执行完成后推送到$ ORIGIN -k 执行完成后保持分支 -n 不对此版本进行标记 完成修补程序
现在我想创建一个没有用户交互的修补程序,所以我执行以下操作:
git flow hotfix finish '2.1.8' -m Hotfix
尽管-m
标志我进入编辑器,但我被要求提供标记消息:
# File /Users/me/MyProject/.git/TAG_EDITMSG
#
# Write a tag message
我是以错误的方式使用git flow还是这个bug?
答案 0 :(得分:1)
@Besi,您必须在修补程序分支名称之前指定该选项。
git flow hotfix finish -m Hotfix '2.1.8'
此名称中也不能有空格。例如'新标签'将无法正常工作
git flow hotfix finish -m 'new tag' 2.1.8
错误:
flags:FATAL the available getopt does not support spaces in options
以下工作:
git flow hotfix finish -m 'new_tag' 2.1.8
这是一个修补程序完成git别名:
hf = "!_() { b=$(git rev-parse --abbrev-ref HEAD) && git co master && git pl && git co develop && git pl && git co $b && git rebase master && h=$(echo $b | sed 's/hotfix\\///g') && git flow hotfix finish -m 'new_tag' $h && git co master && git ps && git co develop && git ps && git ps --tags && git poo $b && git br -D $b; }; _"