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
, поскольку они не имеют ни одного, когда они создаются.
Для этого удаления могут быть побочные эффекты, но до сих пор я не сталкивался с какой-либо проблемой.