git flow release使用包含空格的消息完成

时间:2013-01-25 22:03:11

标签: git git-flow

如何向git flow release finish提供真实讯息?

这是我的尝试及其输出的样子:

> git flow release finish -m 'Release 0.0.4 - Fixing a bug' 0.0.4
flags:FATAL the available getopt does not support spaces in options

我可以让它工作的唯一方法是当我不在消息中使用任何空格时。

3 个答案:

答案 0 :(得分:5)

尝试命令" git flow version"。

如果你有类似0.X的东西,那么实现这个功能的简单方法就是使用新的用于git-flow的CLI

你可以在这里找到它:

https://github.com/petervanderdoes/gitflow/wiki

所以对我来说(在MacOsX上)解决方案是:

sudo brew unlink git-flow 
sudo brew install git-flow-avh

答案 1 :(得分:3)

我遇到了同样的问题,但收到了不同的错误消息:

$ git flow release finish -m 'Release 0.0.4 - Fixing a bug' 0.0.4
fatal: too many params
Tagging failed. Please run finish again to retry.

管理提出一个非常难看的解决方法,但似乎对我有用,这使得在脚本中使用成为可能。

这个想法是:

  1. 使用标记消息
  2. 填充文件
  3. 将git editor命令设置为一个简单的移动命令(git为我们提供了目标目标)
  4. 完成git flow release
  5. 取消设置git编辑器命令
  6. 不知道你在哪个操作系统,但这是我在Ubuntu上使用的序列。

    $ echo 'Release 0.0.4 - Fixing a bug' > .git/MY_TAGMSG
    $ git config core.editor "mv .git/MY_TAGMSG"
    $ git flow release finish 0.0.4
    $ git config --unset core.editor
    

答案 2 :(得分:1)

你有最新的gitflow吗?看来你的版本在get-opt选项中没有空格支持。您应该尝试以下方法作为解决方法:

安装最新的gitflow:

  

$ git clone git://github.com/nvie/gitflow.git

     

$ cd gitflow

     

$ git svn clone -r HEAD http://shflags.googlecode.com/svn/trunk/source/1.0 shFlags

     

$ sudo make install

从Homebrew安装gnu-opt:

  

$ brew install gnu-getopt

     

$ echo'export FLAGS_GETOPT_CMD =“$(brew --prefix gnu-getopt)/ bin / getopt”'>>的〜/ .bashrc

     

$。 〜/ .bashrc#注意句点〜/ .bashrc或者只是启动一个新的终端

     

$ echo $ FLAGS_GETOPT_CMD

应该返回以“bin / getopt”结尾的内容,然后尝试一下你的命令。 。