Git:说起源已存在于“NEW”(init)存储库中,使用shell但安装了Github for Windows

时间:2013-06-09 17:22:41

标签: git github github-for-windows

我安装了Git for Windows,虽然我使用的是shell而不是Windows界面。

如果我执行git init,然后尝试执行

 git remote add origin git@github.com:someuser/testme.git

我收到以下错误

 fatal: remote origin already exists.

所以我做了

 git remote -v

并返回以下内容

origin
upstream

所以它出现在那里,但没有设置URL,我不明白为什么它在那里?

如果我做了

 git remote rm origin

它产生了这个

 error: Could not remove config section 'remote.origin'

它说它无法删除remote.origin配置部分;我检查了我的主目录下的.gitconfig,但没有看到任何内容。

无论如何,我能够通过

来解决这个问题
 git remote set-url origin git@github.com:someuser/testme.git

但我之前因为使用过Git而感到困惑,而且从未发生过这种情况。

这可能与Git for Windows有关吗?

3 个答案:

答案 0 :(得分:31)

我是开发人员。这就是为什么我将它添加到系统gitconfig中,它非常有用!

## Because of this change, git fetch knows about PRs
git fetch

## Now, I can merge PRs by number
git merge origin/pr/24

## See changes from PR #53
git diff master...origin/pr/53

## Get the commit log from PR #25
git log origin/pr/25

不幸的是,这确实会导致原始遥控器始终存在,即使它不存在。

解决方法

每当您看到git remote add origin https://...时,请改为:

git remote set-url origin https://...

答案 1 :(得分:6)

我一直在遇到同样的问题,我想我终于弄明白了。 GitHub for Windows在/Users/<username>/AppData/GitHub中安装了PortableGit的一个版本。在PortableGit目录中的/etc下,有一个gitconfig文件。这是系统配置。它定义了"origin""upstream",可能是对GitHub有意义的默认值。

我不能肯定地说,但是我在GitHub for Windows客户端的最新几个更新中开始注意到这个问题。遗憾的是,发行说明没有指出任何证据,Windows客户端不是开源的,所以很难说。

我已经向他们的支持地址发送了一条消息,所以如果我收到任何回复,我会在这里更新。

编辑:GitHub支持回复说这是一个已知问题,很快就会修复。

答案 2 :(得分:5)

我只是删除了origin中的%appdata%/Local/GitHub/PortableGit_.../etc/gitconfig部分,一切都恢复正常 - 当我向他们添加远程repos时,新的origin会相应地采取行动,因为他们没有什么时候创建它们。

这种删除可能会有副作用,但到目前为止我还没有遇到任何麻烦。