git-svn不是一个git命令?

126

在尝试将一个旧的svn项目转移到git控制下时,我遇到了一个有趣的问题。每当我运行git svn时,就会出现错误提示说它不是git命令,尽管我可以使用git help来查看它的文档。我的安装有问题还是我漏掉了什么?

编辑:我也应该提一下,我正在Windows XP下运行msysGit版本1.6.1.9.g97c34,我得到的错误信息是:

$ git svn 
git: 'svn' is not a
git-command. See 'git --help'.
Did you mean one of these? fsck show
13个回答

294

我刚在新安装的 Ubuntu 系统上检查了一下,即使已经安装了 git-core,Git 也没有被安装。一个简单的命令:

sudo apt-get install git-svn

你的发行版等效物应该解决它。


33

在Ubuntu上:

sudo add-apt-repository ppa:git-core/ppa
apt-get update
sudo apt-get install git-svn

5
PPA是可选的。git-svn已经包含在标准软件源中。 - jgomo3
虽然这是一个老问题,但在Ubuntu上安装git-svn时,我认为应该补充说明我们必须使用git svn而不是git-svn - nsaura
我需要在Ubuntu 16上的ppa部分。 - Sridhar Sarnobat
apt-get update 需要使用 sudo。我尝试更新响应,但由于编辑少于6个字符,因此SO不允许我这样做。 - Pau Fracés

20

我不确定 git svn 是否能够与最近的Git Windows发行版(1.5.6之后)配合使用。

许多问题在此之前已经报告,因此git svn很可能没有包含在当前的msysGit版本中。

另一个目前活跃的“Git on Windows”开发mingw.git在其README中指出,svn无法工作。

这个Msysgit帖子表明git svn可能会在某些时间重新集成,但进展仍然缓慢。


更新:从MSysGit1.6.2(2009年3月初)开始, git-svn 再次工作。请参见SO问题。


更新:使用现代(2017年)Git for Windows 2.xgit svn已经包含。
不需要sudo apt-get install git-svn,这只能在WSL(Windows子系统Linux)shell会话中进行。


现在Git在Windows上已经默认安装了git svn :) - Tod Thomson
1
@TodThomson 我同意,这就是我2009年3月的更新所说的。 - VonC
4
对于Windows 10用户,命令为 sudo apt-get install git-svn - behelit

8

在我的WSL Ubuntu新安装上没有安装它 -

sudo apt install git-svn

排序IT:

❯ git svn
git-svn - bidirectional operations between a single Subversion tree and git
...

我尝试了这个解决方案,它很有效。谢谢您。 - Kenjiro

7

为了后代留存:在CentOS 7上,只需运行sudo yum install git-svn


7

在我的系统中,我遇到了这个问题:

$ git svn
Can't locate SVN/Core.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/5.10.0/i486-linux-thread-multi
/usr/lib/perl5/5.10.0
/usr/lib/perl5/site_perl/5.10.0/i486-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.10.0/i486-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl .) at
/usr/libexec/git-core/git-svn line 29.

因为我没有安装Subversion Perl绑定。尝试安装它们并再次运行命令。


3
我曾经遇到过这种情况,就是Perl绑定安装在与Git期望不同的位置上;通过符号链接进行了修正。 - Paul

5

MacPorts版本:

port install git +svn

(注意:您可能需要首先运行port deactivate git命令。)

4

我在Cygwin 1.7下遇到了同样的错误。通过使用Cygwin安装git-svn软件包来解决该问题。


3
在CentOS上,我使用了:
sudo yum install git-svn

3
在 Gentoo 系统上,你需要以 USE="subversion" 的参数构建 git。

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