20

我为 Windows 安装了 Git,虽然我使用的是 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,但这从未发生过。

这可能与适用于 Windows 的 Git 有关吗?

4

3 回答 3

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://...
于 2013-10-10T16:07:54.037 回答
6

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

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

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

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

于 2013-06-27T19:04:53.407 回答
5

我只是删除了其中的origin部分%appdata%/Local/GitHub/PortableGit_.../etc/gitconfig,一切都恢复了正常 -repos当我向它们添加遥控器时,相应的新行为origin,因为它们在创建时没有。

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

于 2013-07-06T19:45:50.350 回答