8

从我的本地仓库路径的 cmd 行,我执行git svn clone了命令,但使用了错误的 url。

然后我尝试git svn clone使用正确的 url 执行,但我不能,因为它告诉我"svn-remote.svn.url already set"

如何取消设置svn-remote.svn.url

4

2 回答 2

9

您遇到的错误并没有太大帮助。svn-remote.svn.url指您的 Git 配置的一部分,它存储在几个不同的文件中;此位位于.git/config存储库的根目录中。

有几个不同的选项可以解决这个问题:

  1. 正如其他人建议的那样,只需删除整个 Git 存储库并重新开始。

  2. 再次,正如 Chronial 建议的那样,删除 Git 配置中的那部分内容。有两种方法可以做到这一点:

    1. 使用git config命令:

      git config --remove-section svn-remote.svn
      
    2. 自己编辑.git/config文件。如果您在文本编辑器中打开它,您会发现如下所示的部分,您需要将其删除:

      [svn-remote "svn"]
              url = http://duff.path/to/repo
              fetch = trunk:refs/remotes/svn/trunk
              branches = branches/*:refs/remotes/svn/*
              tags = tags/*:refs/remotes/svn/tags/*
      

    由于您的 URL 是 duff,因此您不会有任何远程分支。如果你曾经成功地git svn fetch/ git svn clone,你需要担心保持你拥有的分支安全,或者明智地删除它们,但这不是问题。

    上述任何一个步骤都会让您仿佛从未运行过git svn clone,您可以重新开始。

  3. 如果您的命令唯一有问题的git svn clone是 URL,您可以修复它。如上所述,您可以使用以下方法执行此操作git config

    git config svn-remote.svn.url http://correct.path/to/repo
    

    或通过.git/config手动编辑和更正路径。

    更正后,您可以运行git svn fetch以完成克隆。

于 2013-03-07T16:37:19.993 回答
1

我建议删除回购并重新创建它。如果你在那里有自己的分支,我建议克隆 repo 并处理克隆。这样你就摆脱了所有的 git-svn 数据。

如果你想尝试修复你的 repo,运行这个命令来取消设置 svn-remote 的东西:

git config --remove-section svn-remote
于 2013-03-07T00:24:53.463 回答