SourceForge到GitHub:“远程来源已经存在。”

时间:2014-03-09 20:57:47

标签: git

我正在尝试将我的SourceForge svn repo(“Loyc”)移动到GitHub。我尝试了两种“git svn”方法......

> git svn init --prefix=svn/ --no-metadata --trunk=https://svn.code.sf.net/p/loyc/code/
> git svn fetch
...
> git branch --all
* master
  remotes/svn/trunk

(删除并重新创建文件夹后)svn2git方法......

> svn2git https://svn.code.sf.net/p/loyc/code/ --rootistrunk -v --authors ../authors.txt
...
> git branch --all
* master
  remotes/svn/trunk
> dir /ad /b
.git
Lib
Src
VeryOldDocs
Visual Studio Integration

(显然SourceForge不使用“标准”svn布局,或者至少我的回购没有。)

在任何一种情况下都有一个神秘的“起源”:

> git remote --verbose
origin
upstream

GitHub advises these commands

git remote add origin git@github.com:GITHUB_USERNAME/REPO_NAME.git
git push origin master

虽然当我在GitHub上添加一个新的回购时它会建议这些命令(有什么区别?):

git remote add origin https://github.com/qwertie/Loyc.git
git push -u origin master

但是...

> git remote add origin https://github.com/qwertie/Loyc.git
fatal: remote origin already exists.

我无法摆脱'起源':

> git remote rename origin mystery-origin
error: Could not rename config section 'remote.origin' to 'remote.mystery-origin'
> git remote remove origin
error: Could not remove config section 'remote.origin'

我也不能看......

> git remote show origin
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

发生了什么事?这不正常吗?我该怎么办?

> git version
git version 1.8.1.msysgit.1
> ver
Microsoft Windows XP [Version 5.1.2600]

1 个答案:

答案 0 :(得分:1)

根据您的描述,您必须在全局 [remote "origin"] ~/.gitconfig 中添加$XDG_CONFIG_HOME/git/config部分,或者系统范围 /etc/gitconfig 在你的盒子上。

手动删除该部分,然后在git remote show输出中验证原点不再显示,您应该是正确的。

如果您无法编辑文件,则必须设置shell或别名git命令才能与GIT_CONFIG_NOSYSTEMXDG_CONFIG_HOME一起运行,以便git忽略预设。