为什么'git'有效,但'git-svn'没有,我该如何解决?

时间:2013-07-19 16:09:45

标签: git git-svn

我正在使用安装了git 1.8.3.msysgit.0的64位Windows 7。

命令git可以在任何地方正常工作:

PS C:\dev> git --version
git version 1.8.3.msysgit.0

但是,命令git-svn不会:

PS C:\dev> git-svn
The term 'git-svn' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:8
+ git-svn <<<<
    + CategoryInfo          : ObjectNotFound: (git-svn:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

上面给出的示例是使用PowerShell,但运行Git bash会产生类似的错误:

$ git-svn
sh.exe": git-svn: command not found

Git安装在C:\Program Files (x86)\Git

我的Windows路径系统变量包含C:\Program Files (x86)\Git\cmd;

git-svn似乎住在C:\Program Files (x86)\Git\libexec\git-core\git-svn没有文件扩展名,这让我感到困惑,因为该目录中的其他文件带有.exe个扩展名,虽然这些文件通常都是较大的文件,这表明或许git-svn应该是另一个命令的别名,但Windows不知道它可以被执行。我只是猜测那里。

无论如何,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

git svn执行(带空格,而不是连字符)。

前段时间,git从git-foo上的所有PATH个可执行文件切换到路径上只有git。我认为核心git可执行文件知道获取其第一个参数并构造相关的git-foo命令,并在libexec目录中查找该名称的可执行文件