我安装了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有关吗?
答案 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
会相应地采取行动,因为他们没有什么时候创建它们。
这种删除可能会有副作用,但到目前为止我还没有遇到任何麻烦。