Как удалить удаленный источник из репозитория Git


878

Я только что сделал, git initчтобы инициализировать свою папку как git repo, а затем добавил удаленное хранилище, используя git remote add origin url. Теперь я хочу удалить это git remote add originи добавить новый репозиторий git remote add origin new-url. Как мне это сделать?

Ответы:


1599

Вместо удаления и повторного добавления вы можете сделать это:

git remote set-url origin git://new.url.here

Смотрите этот вопрос: Как изменить URI (URL) для удаленного Git-репозитория?

Чтобы удалить удаленное использование этого:

git remote remove origin

10
@ acannon828, необходимый протокол зависит от того, как вы подключаетесь к git. В приведенном примере предполагается, что вы используете протокол git. Книга git объясняет различные протоколы, поддерживаемые git.
Кахуэлл

2
Это правильный ответ, есть некоторая путаница, вызванная формулировкой названия и самого вопроса.
Ян Льюис,

3
Если вы используете Bitbucket вместо github, вы удалите первую часть "git: //" и напишите git@bitbucket.org: yourusername / reponame.git и, конечно, замените местозаполнители: "yourusername" и "reponame" на свои ,
Recomer

710

Если вы настаиваете на его удалении:

git remote remove origin

Или если у вас Git версии 1.7.10 или старше

git remote rm origin

Но ответ Кахоуэлла лучше.


85
Это фактический ответ на вопрос «как удалить удаленное происхождение из git repo».
baash05

Что если у меня есть несколько URL-адресов, связанных с источником, но я хочу удалить только один из них?
Майкл

2
@ Майкл, что именно вы подразумеваете под "множественными URL-адресами, связанными с источником" ? Как настроен пульт?
1615903,

78

Чтобы удалить пульт:

git remote remove origin

Чтобы добавить пульт:

git remote add origin yourRemoteUrl

и наконец

git push -u origin master

39

Вы можете попробовать это, если хотите удалить источник, а затем добавить его:

git remote remove origin

тогда:

git remote add origin http://your_url_here

34

У меня недостаточно репутации, чтобы комментировать ответ @ user1615903, поэтому добавьте это как ответ: «git remote remove» не существует, следует использовать «rm» вместо «remove». Итак, правильный путь:

git remote rm origin

3
removeбыл добавлен в 1.7.12. Я обновил свой ответ.
1615903

17

Вы можете переименовать (изменить URL-адрес удаленного хранилища), используя:

git remote set-url origin new_URL

new_URL может быть как https://github.com/abcdefgh/abcd.git

Слишком навсегда удалить использование удаленного хранилища:

git remote remove origin

11

Чтобы установить источник удаленного URL-адреса

   git remote set-url origin git://new.url.here

здесь origin - ваше имя для ссылки. У вас может быть несколько источников. Если у вас есть несколько источников, замените источник в качестве этого имени.

Для удаления Происхождения

   git remote rm origin/originName
   or
   git remote remove origin/originName

Для добавления нового происхождения

   git remote add origin/originName git://new.url.here / RemoteUrl


7

Другой метод

Отмена локального репозитория git

rm -rf .git

Затем; Снова создайте git-репозиторий

git init

Затем; Повторите подключение к удаленному репо

git remote add origin REPO_URL

работал как шарм для меня. Это не самый красивый способ сделать это, но git remote rm не работал ... и предложение на странице github тоже не сработало. Спасибо
Сэмюэль Айала Феррейра

но тогда вы потеряете всю историю, верно? в таком случае, почему бы не извлечь код из другого / нового репозитория?
RobMac

1
да, это действительно удаляет всю историю. @ Ясин должен добавить какое-то предупреждение с ответом.
Амрит Шреста

3

сначала изменится толчок удаленного URL

git remote set-url --push origin https://newurl

второй изменит выборку удаленного URL

git remote set-url origin https://newurl

2

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.