Удаленный источник уже существует в git push для нового репозитория - PullRequest
457 голосов
/ 03 августа 2009

У меня есть проект на GitHub в каком-то месте, git@github.com:myname/oldrep.git.

Теперь я хочу перенести весь свой код в новый репозиторий в другом месте, git@github.com:newname/newrep.git.

Я использовал команду:

git remote add origin git@github.com: myname / oldrep.git

но я получаю это:

неустранимо: удаленный источник уже существует.

Ответы [ 14 ]

730 голосов
/ 03 августа 2009

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

Например, вы можете написать:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

См. Руководство:

http://www.kernel.org/pub/software/scm/git/docs/git-remote.html

Чтобы удалить удаленный репозиторий, вы вводите:

git remote rm origin

Опять «origin» - это имя удаленного хранилища, если вы хотите удалите «восходящий» пульт:

git remote rm upstream
231 голосов
/ 05 апреля 2012

Предыдущие решения, кажется, игнорируют происхождение, и они предлагают только использовать другое имя. Если вы просто хотите использовать git push origin, продолжайте читать.

Проблема возникает из-за неправильного порядка конфигурации Git. Возможно, вы уже добавили 'git origin' в вашу конфигурацию .git.

Вы можете изменить удаленный источник в вашей конфигурации Git со следующей строкой:

git remote set-url origin git@github.com:username/projectname.git

Эта команда устанавливает новый URL для репозитория Git, к которому вы хотите перейти. Важно указать свои имя пользователя и имя проекта

71 голосов
/ 13 августа 2010

Если вы по ошибке назвали локальное имя «происхождение», вы можете удалить его следующим образом:

git remote rm origin
17 голосов
/ 23 июня 2017

method1 ->

Поскольку источник уже существует, удалите его.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

method2 ->

Можно также изменить существующий URL-адрес удаленного хранилища с помощью -> git remote set-url

Если вы обновляете для использования HTTPS

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Если вы обновляете для использования SSH

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Если вы попытаетесь обновить несуществующий пульт, вы получите сообщение об ошибке. Так что будьте осторожны с этим.

method3 ->

Используйте команду git remote rename, чтобы переименовать существующий пульт. Существующее удаленное имя, например, origin.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Чтобы проверить новое имя пульта ->

git remote -v

Если вы новичок в Git, попробуйте этот урок ->

ПОПРОБУЙТЕ Урок GIT

15 голосов
/ 03 августа 2009

Вы можете просто отредактировать файл конфигурации в текстовом редакторе.

В ~/.gitconfig вам нужно вставить что-то , например , следующее:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

В файле oldrep/.git/config (в файле конфигурации вашего репозитория):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

Если в файле конфигурации вашего репозитория есть удаленный раздел и URL-адрес совпадает, вам нужно только добавить push-конфигурацию. Если вы используете общедоступный URL-адрес для извлечения, вы можете указать в нем URL-адрес pushurl (предупреждение: для этого требуется только что выпущенная версия Git 1.6.4).

8 голосов
/ 16 февраля 2012

Вам не нужно удалять существующий удаленный «origin», просто используйте имя, отличное от «origin», для своего удаленного добавления, например,

git remote add github git@github.com: мое имя / oldrep.git

6 голосов
/ 08 апреля 2017
git remote rm origin
git remote add origin git@github.com:username/myapp.git
6 голосов
/ 23 января 2014

У меня возникла та же проблема, и вот как я ее исправил после некоторых исследований:

  1. Загрузите GitHub для Windows или используйте что-то подобное, включая оболочку
  2. Откройте Git Shell из меню задач. Это откроет Power Shell, включая команды Git.
  3. В оболочке переключитесь на ваш старый репозиторий, например cd C:\path\to\old\repository
  4. Показать статус старого хранилища

    • Введите git remote -v, чтобы получить удаленный путь для извлечения и отправки удаленного. Если ваш локальный репозиторий подключен к удаленному, он покажет что-то вроде этого:

      происхождение https://user@bitbucket.org/team-or-user-name/myproject.git (выборка) происхождение https://user@bitbucket.org/team-or-user-name/myproject.git (толчок)

    • Если он не подключен, может отображаться только origin.

  5. Теперь удалите удаленный репозиторий из локального репозитория с помощью

    git remote rm origin
    
  6. Проверьте снова с шагом 4. Он должен показывать только origin вместо пути извлечения и проталкивания.

  7. Теперь, когда ваш старый удаленный репозиторий отключен, вы можете добавить новый удаленный репозиторий. Используйте следующее для подключения к вашему новому хранилищу.

Примечание. Если вы используете Bitbucket, вы сначала должны создать проект на Bitbucket. После создания Bitbucket отобразит все необходимые команды Git, чтобы переместить ваш репозиторий на удаленный компьютер, который похож на следующий фрагмент кода. Однако это работает и для других репозиториев.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

Вот и все.

5 голосов
/ 09 апреля 2014

У меня была такая же проблема при первой настройке с использованием Bitbucket .

Моя проблема заключалась в том, что мне нужно было изменить происхождение слова на нечто самоопределяемое. Я использовал название приложения. Итак:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git
4 голосов
/ 03 мая 2014

Вы должны изменить имя удаленного хранилища на другое.

git remote add origin git@github.com:myname/oldrep.git

до

git remote add neworigin git@github.com:myname/oldrep.git

Я думаю, это должно сработать.

Да, это для инициализации репозитория и добавления нового пульта. Просто со сменой имени.

...