7

我怎样才能提供一个真实的消息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

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

4

3 回答 3

5

我有同样的问题,但得到不同的错误信息:

$ 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. 将 git 编辑器命令设置为简单的移动命令(git 为我们提供了目标目的地)
  3. 完成 git flow 发布
  4. 取消设置 git 编辑器命令

不知道您使用的是哪个操作系统,但这是我在 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
于 2013-01-28T20:40:07.467 回答
5

尝试命令“git flow version”。

如果你有类似 0.X 的东西,让这个工作的简单方法是使用新的 CLI for git-flow

你可以在这里找到它:

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

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

sudo brew unlink git-flow 
sudo brew install git-flow-avh
于 2015-05-11T15:08:07.340 回答
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 安装

从 Homebrew 安装 gnu-opt:

$ brew install gnu-getopt

$ echo 'export FLAGS_GETOPT_CMD="$(brew --prefix gnu-getopt)/bin/getopt"' >> ~/.bashrc

$ . ~/.bashrc # 注意句点然后 ~/.bashrc 或者只是启动一个新终端

$ 回声 $FLAGS_GETOPT_CMD

应该返回以“bin/getopt”结尾的东西,然后试试你的命令。. .

于 2013-01-28T01:12:53.467 回答