Git: говорит, что источник уже существует в репозитории "NEW" (init) с использованием оболочки, но с установленным Github для Windows

Я установил Git для Windows, хотя я использую оболочку, а не интерфейс Windows.

Если я сделаю git init, а затем попробую сделать

 git remote add origin [email protected]: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 [email protected]:someuser/testme.git

Но я запутался, потому что раньше использовал Git, а этого никогда не было.

Может ли это быть что-то делать с Git для Windows?

Ответ 1

Я разработчик, который положил это. Вот почему я добавил это в систему 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://...

Ответ 2

Я столкнулся с той же проблемой, и я думаю, что, наконец, понял. GitHub для Windows устанавливает версию PortableGit в /Users/<username>/AppData/GitHub. В каталоге PortableGit под /etc есть файл gitconfig. Это системная конфигурация. Он определяет "origin" и "upstream", предположительно, значения по умолчанию, которые имеют значение для GitHub.

Я не могу сказать точно, но я начал замечать эту проблему в последних нескольких обновлениях клиента GitHub для Windows. К сожалению, примечания к выпуску не указывают на что-либо доказательство, и клиент Windows не является открытым исходным кодом, поэтому трудно сказать.

Я отправил сообщение на их адрес поддержки, поэтому я обновлю здесь, если что-нибудь услышу.

Изменить: поддержка GitHub ответила, что это известная проблема и скоро будет исправлена.

Ответ 3

Я просто удалил раздел origin в %appdata%/Local/GitHub/PortableGit_.../etc/gitconfig, и все вернулось к нормальному - новый repos действует соответственно, когда я добавляю к ним удаленный origin, поскольку они не имеют ни одного, когда они создаются.

Для этого удаления могут быть побочные эффекты, но до сих пор я не сталкивался с какой-либо проблемой.