Gitflow安装问题

5
我正在尝试按照这里的说明在Windows上运行gitflow:https://github.com/nvie/gitflow(我使用的是64位Windows Server 2003 SP2)。我已经尝试了Cygwin和msysgit。使用Cygwin时,调用wget什么都没有返回。使用msysgit时,我取得了更多进展,但是当我尝试运行git flow init时,出现以下错误:
C:\Program Files (x86)\Git/libexec/git-core/git-flow: line 45: dirname: command not found
C:\Program Files (x86)\Git/libexec/git-core/git-flow: line 68: /gitflow-common: No such file or directory
C:\Program Files (x86)\Git/libexec/git-core/git-flow: line 76: /gitflow-shFlags: No such file or directory

在 git-flow bash 文件中查看第一个错误,第 45 行包含:

export GITFLOW_DIR=$(dirname "$0")

我也尝试按照这里的步骤进行操作:https://github.com/nvie/gitflow/issues/issue/25?authenticity_token=54d6387519b4751c2fb13840c52bb819dee10af4,但没有任何改变。
有什么想法吗?
谢谢。

-q选项关闭了wget的输出,因此如果您按照那些说明进行操作,我不会期望它显示任何内容,只是静默地获取文件。尝试在没有该选项的情况下运行以查看是否成功并且您没有意识到它,或者是否存在错误。 - Cascabel
感谢移除了“-q”参数,我终于看到了证书错误提示。 - DownChapel
4个回答

5
这是我在Windows上使其工作的方法:
  1. 安装msysgit:http://code.google.com/p/msysgit/
  2. 按照gitflow自述文件中的安装说明进行操作:https://github.com/nvie/gitflow
  3. 下载“git-flow-completion”:https://github.com/bobthecow/git-flow-completion
    • 从git-flow-completion zip文件中复制“git-flow-completion.bash”到C:\ Program Files(x86)\ Git \ etc
    • 在C:\ Program Files(x86)\ Git \ etc中创建一个名为“bash_profile”的新文件(没有扩展名),并添加以下一行:
      source "c:\Program Files (x86)\Git\etc\git-flow-completion.bash"

如果其他人遇到了和我一样的问题,我必须手动下载(或通过Git克隆)shFlags内容到克隆的GitFlow文件夹的根目录中,这样运行命令文件才能正确地执行所有文件复制。 - Samuel Slade

1
对于msysgit安装,我不确定dirname通常来自哪里(我不是Windows专家)。可能它包含在gitflow安装说明中提到的util-linux软件包中。也有可能你的PATH出了问题——查看一下通常的位置(/bin、/usr/bin、/usr/local/bin),看看dirname是否在其中任何一个中,并查看你的PATH是否缺少这个路径。如果所有这些都失败了,dirname $0只是包含该脚本的目录的名称,因此你可以直接硬编码并继续进行。
编辑:
啊哈。根据这个问题,wget证书错误是一个已知问题,不仅限于github。它已经在wget中得到修复,但修复尚未在debian/ubuntu中发布,我不确定需要多长时间才能在cygwin中解决。你可以像链接中提到的那样解决它。但当然,从我听到的情况来看,使用msysgit比cygwin git要好得多。

1
谢谢,在最后我将脚本更改为硬编码目录名称。 - DownChapel
我已经编辑了msysgit-install.cmd并发现这个问题:xcopy“%〜dp0 \ .. \ shFlags \ src \ shflags”,更改此路径或创建此文件夹结构并将gitflow-shflags文件放入其中是一种解决方案。 - user1011138

1

0
我遇到的问题是,当我安装git flow时,它会将flow文件添加到我的机器中。
C:\Program Files (x86)\Git\libexec\git-core  

但是 git flow init 在这些地方寻找它们

C:\Program Files (x86)\Git\libexec\

所以我只是复制并粘贴它们:

C:\Program Files (x86)\Git\libexec\

现在它可以工作了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接