以非交互方式创建git流发布/修补程序

时间:2014-04-14 07:45:29

标签: macos git unix terminal git-flow

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?

1 个答案:

答案 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;  }; _"