#git
#git
Вопрос:
Мне нужно изменить URL для удаленного репозитория, поэтому я просматривал документы наhttps://git-scm.com/docs/git-remote но когда я делаю:
git remote set-url git@github.com:gitusername/repository.git
Я получаю сообщение usage: git remote set-url [--push] <name> <newurl> [<oldurl>]
Я не совсем понимаю, должен ли я вводить:
git remote set-url --push gitusername git@github.com:gitusername/repository.git
или что <name>
означает? И должен ли я включить старый URL?
Обновить
Итак, когда я набираю:
git remote set-url --push origin git@github.com:gitusername/repository.git
И после этого введите git remote -v
Я понимаю это:
origin git@github.com:oldusername/oldrepo.git (fetch)
origin git@github.com:gitusername/repository.git (push)
Как я могу изменить выборку?
Комментарии:
1. Это должно быть имя репозитория, т.Е. origin / master
2.Не используйте
--push
вообще. Если вы уже использовали--push
, теперь вы установили отдельные URL-адреса для извлечения и отправки. Вы можете удалить отдельный push-URL (git remote set-url origin --delete --push
). Используйтеgit remote set-url
without--push
для установки URL-адреса выборки; если push-URL не установлен, он автоматически совпадает с URL-адресом выборки.3. @torek Большое спасибо! Именно то, что мне было нужно 🙂
Ответ №1:
Следующая команда обновляет URL для существующего удаленного, origin
:
git remote set-url origin git@github.com:gitusername/repository.git
Приведенная выше команда обновляет как URL-адреса выборки, так и URL-адреса отправки.
Использование --push
обновит только push-URL:
git remote set-url --push origin git@github.com:gitusername/repository.git
git remote -v
origin git@github.com:oldusername/oldrepo.git (fetch)
origin git@github.com:gitusername/repository.git (push)
После этого момента в .git/config
теперь есть отдельная запись:
[remote "origin"]
url = git@github.com:oldusername/oldrepo.git
fetch = refs/heads/*:refs/remotes/origin/*
pushurl = git@github.com:gitusername/repository.git
Теперь, поскольку существуют отдельные записи, использование set-url
without --push
обновит только выборку, а не обе:
git remote set-url origin git@github.com:thirdusername/thirdrepository.git
git remote -v
origin git@github.com:thirdusername/thirdrepository.git (fetch)
origin git@github.com:gitusername/repository.git (push)
Если вы хотите вернуться к исходному состоянию, вы можете либо удалить pushurl
запись из .git/config
, либо использовать set-url --delete --push
:
git remote set-url --delete --push origin git@github.com:gitusername/repository.git
После этого вызов set-url
без --push
с now обновляет как push, так и fetch URL-адреса.
Ответ №2:
Эта команда используется для добавления нового удаленного:
git remote add origin git@github.com:User/UserRepo.git
Эта команда используется для изменения URL существующего удаленного репозитория:
git remote set-url origin git@github.com:User/UserRepo.git
Используемая эта команда отправит ваш код в главную ветвь удаленного репозитория, определенную с помощью источника, и -u позволит вам указать вашу текущую локальную ветвь на удаленную главную ветвь:
git push -u origin master
Ответ №3:
Это имя удаленного, например. origin
Имена также видны при перечислении пультов, поэтому вы можете проверить свое текущее имя (возможно, также origin
)
git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
И полезно при использовании нескольких удаленных устройств, например, если вы разветвляете репозиторий GitHub, тогда у вас может быть удаленный доступ к вашей разветвленной сети и исходному репозиторию (иногда называемый «восходящим» по соглашению)
Ответ №4:
Название относится к сокращенному имени удаленного репозитория. По умолчанию он обычно называется ‘origin’. Итак, в вашем случае команда будет
git remote set-url origin git@github.com:gitusername/repository.git
Необязательный --push
параметр установит push-URL вместо URL-адреса выборки.
Комментарии:
1. Ах, хорошо, но как проверить (выборку)?