Git: says origin already exists on “NEW” (init) repository, using shell but installed Github for Windows

天大地大妈咪最大 提交于 2019-12-03 03:12:03

问题


I installed Git for Windows, although I am using the shell not the Windows interface.

If I do a git init, and then try and do a

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

I get the following error

 fatal: remote origin already exists.

So I do a

 git remote -v

and it returns the following

origin
upstream

So it appears its there but has no URL set, I don't understand why it's there?

If I do a

 git remote rm origin

it produces this

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

It says that it can't remove the remote.origin config section; I checked the .gitconfig under my home directory and I don't see anything.

Anyway I was able to remedy this by using

 git remote set-url origin git@github.com:someuser/testme.git

But I am getting confused as I have used Git before and this never happened.

Could this be something to do with Git for Windows?


回答1:


I'm the developer who put this in. Here's why I added this to the system gitconfig, it's pretty useful!

## 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

Unfortunately, this does have the consequence that the origin remote always exists, even when it doesn't.

Workaround

Whenever you see git remote add origin https://..., instead:

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



回答2:


I've been running into the same issue, and I think I've figured it out finally. GitHub for windows installs a version of PortableGit in /Users/<username>/AppData/GitHub. In the PortableGit directory, under /etc, there's a gitconfig file. This is the system config. It defines "origin" and "upstream", presumably with defaults that are meaningful to GitHub.

I can't say for sure, but I started noticing this problem in the latest few updates of the GitHub for Windows client. Sadly, the release notes don't point to anything probative and the Windows client isn't open-source so it's hard to tell.

I've sent a message to their support address, so I'll update here if I hear anything back.

Edit: GitHub support responded saying this is a known issue and will be fixed soon.




回答3:


I simply deleted the origin section in %appdata%/Local/GitHub/PortableGit_.../etc/gitconfig and everything went back to normal - new repos act accordingly when I add remote origin to them, since they have none when they are created.

There might be side effects for this deletion, but so far I haven't ran into any trouble.



来源:https://stackoverflow.com/questions/17012211/git-says-origin-already-exists-on-new-init-repository-using-shell-but-inst

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!