git-remote
Имя
git-remote — управление набором отслеживаемых репозиториев
Краткое описание
git remote [-v | --verbose] git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <URL> git remote rename [--[no-]progress] <old> <new> git remote remove <name> git remote set-head <name> (-a | --auto | -d | --delete | <branch>) git remote set-branches [--add] <name> <branch>… git remote get-url [--push] [--all] <name> git remote set-url [--push] <name> <newurl> [<oldurl>] git remote set-url --add [--push] <name> <newurl> git remote set-url --delete [--push] <name> <URL> git remote [-v | --verbose] show [-n] <name>… git remote prune [-n | --dry-run] <name>… git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)…]
Описание
Управление набором репозиториев («удалённых»), ветки которых вы отслеживаете.
Параметры
-
-v -
--verbose -
Выводить больше подробностей и показывать URL удалённого репозитория после его имени. Для promisor-репозиториев также показывать настроенные фильтры (например,
blob:none). ПРИМЕЧАНИЕ: этот параметр должен указываться междуremoteи подкомандой.
Команды
Если аргументы не указаны, выводится список существующих удалённых репозиториев. Для выполнения операций с ними доступны несколько подкоманд.
-
add -
Добавить удалённый репозиторий с именем
<name>для репозитория, расположенного по адресу<URL>. Затем командуgitfetch<name> можно использовать для создания и обновления веток отслеживания удалённого репозитория <name>/<branch>.С параметром
-fсразу после настройки информации об удалённом репозитории выполняется командаgitfetch<name>.С параметром
--tagsкомандаgitfetch<name> импортирует все теги из удалённого репозитория.С параметром
--no-tagsкомандаgitfetch<name> не импортирует теги из удалённого репозитория.По умолчанию импортируются только теги веток, полученных из удалённого репозитория (см. git-fetch[1]).
С параметром
-t<branch> вместо стандартного шаблона refspec, отслеживающего все ветки удалённого репозитория в пространстве имёнrefs/remotes/<name>/, создаётся refspec для отслеживания только<branch>. Можно указать несколько параметров-t<branch>, чтобы отслеживать несколько веток, не получая все ветки.С параметром
-m<master> настраивается символическая ссылкаrefs/remotes/<name>/HEAD, указывающая на ветку<master>удалённого репозитория. См. также команду set-head.При создании зеркала для получения данных с помощью параметра
--mirror=fetchссылки не сохраняются в пространстве имёнrefs/remotes/; вместо этого всё содержимоеrefs/удалённого репозитория напрямую зеркально копируется вrefs/локального репозитория. Этот параметр имеет смысл только для репозиториев без рабочего дерева, поскольку операция получения данных перезапишет все локальные коммиты.При создании зеркала для отправки с помощью параметра
--mirror=pushкомандаgitpushвсегда будет работать так, как если бы был указан параметр--mirror. -
rename -
Переименовать удалённый репозиторий
<old>в<new>. Все ветки отслеживания удалённого репозитория и настройки его конфигурации обновляются.Если
<old>и<new>совпадают, а<old>является файлом в$GIT_DIR/remotesили$GIT_DIR/branches, удалённый репозиторий преобразуется в формат файла конфигурации. -
remove -
rm -
Удалить удалённый репозиторий
<name>. Все ветки отслеживания удалённого репозитория и настройки его конфигурации удаляются. -
set-head -
Задать или удалить ветку по умолчанию (то есть цель символической ссылки
refs/remotes/<name>/HEAD) для указанного удалённого репозитория. Ветка по умолчанию для удалённого репозитория не обязательна, но позволяет указывать имя удалённого репозитория вместо конкретной ветки. Например, если веткой по умолчанию дляoriginзаданаmaster, тоoriginможно указывать везде, где обычно указываетсяorigin/master.С параметром
-dили--deleteсимволическая ссылкаrefs/remotes/<name>/HEADудаляется.С параметром
-aили--autoу удалённого репозитория запрашивается егоHEAD, после чего символическая ссылкаrefs/remotes/<name>/HEADуказывает на ту же ветку. Например, если удалённый репозиторийHEADуказывает наnext, командаgitremoteset-headorigin-aустановит для символической ссылкиrefs/remotes/origin/HEADзначениеrefs/remotes/origin/next. Это сработает только в том случае, еслиrefs/remotes/origin/nextуже существует; в противном случае её сначала нужно получить.Используйте
<branch>, чтобы явно задать символическую ссылкуrefs/remotes/<name>/HEAD. Например, командаgitremoteset-headoriginmasterустановит для символической ссылкиrefs/remotes/origin/HEADзначениеrefs/remotes/origin/master. Это сработает только в том случае, еслиrefs/remotes/origin/masterуже существует; в противном случае её сначала нужно получить. -
set-branches -
Изменить список веток, отслеживаемых указанным удалённым репозиторием. Это можно использовать, чтобы после первоначальной настройки удалённого репозитория отслеживать только часть доступных удалённых веток.
Указанные ветки интерпретируются так, как если бы они были заданы параметром
-tв командной строке командыgitremoteadd.С параметром
--addуказанные ветки добавляются к списку отслеживаемых веток, а не заменяют его. -
get-url -
Получить URL-адреса удалённого репозитория. Здесь разворачиваются настройки
insteadOfиpushInsteadOf. По умолчанию выводится только первый URL-адрес.С параметром
--pushзапрашиваются URL-адреса для отправки данных, а не для их получения.С параметром
--allвыводятся все URL-адреса удалённого репозитория. -
set-url -
Изменить URL-адреса удалённого репозитория. Задать для первого URL-адреса удалённого репозитория
<name>, соответствующего регулярному выражению<oldurl>(для первого URL-адреса, если<oldurl>не указано), значение<newurl>. Если<oldurl>не соответствует ни одному URL-адресу, возникает ошибка и изменения не вносятся.С параметром
--pushизменяются URL-адреса для отправки данных, а не для их получения.С параметром
--addновый URL-адрес добавляется вместо изменения существующих.С параметром
--deleteвсе URL-адреса удалённого репозитория<name>, соответствующие регулярному выражению<URL>, удаляются вместо изменения существующих. Попытка удалить все URL-адреса, не предназначенные для отправки данных, приведёт к ошибке.Обратите внимание: URL-адреса для отправки и получения данных, хотя их можно задать по-разному, всё равно должны указывать на одно и то же место. То, что вы отправили по URL-адресу для отправки, должно быть видно при немедленном получении данных по URL-адресу для получения. Если вы хотите получать данные из одного места (например, из вышестоящего репозитория), а отправлять в другое (например, в репозиторий для публикации), используйте два отдельных удалённых репозитория.
-
show -
Вывести информацию об удалённом репозитории
<name>.С параметром
-nперед этим не запрашиваются вершины веток удалённого репозитория с помощью командыgitls-remote<name>; вместо этого используются кэшированные данные. -
prune -
Удалить устаревшие ссылки, связанные с
<name>. По умолчанию удаляются устаревшие ветки отслеживания удалённого репозитория в<name>, но в зависимости от глобальной конфигурации и настроек удалённого репозитория могут быть удалены даже локальные теги, которые туда не отправлялись. Эквивалентно командеgitfetch--prune<name>, за исключением того, что новые ссылки не будут получены.В разделе PRUNING команды git-fetch[1] описано, что именно будет удалено в зависимости от настроек конфигурации.
С параметром
--dry-runвыводится список веток, которые будут удалены, но фактическое удаление не выполняется. -
update -
Получить обновления для удалённых репозиториев или групп удалённых репозиториев в соответствии с определением
remotes.<group>. Если в командной строке не указаны ни группа, ни удалённый репозиторий, используется параметр конфигурацииremotes.default; если параметрremotes.defaultне задан, обновляются все удалённые репозитории, для которых параметр конфигурацииremote.<name>.skipDefaultUpdateне имеет значенияtrue. (См. git-config[1].)С параметром
--pruneдля всех обновлённых удалённых репозиториев выполняется очистка.
Обсуждение
Конфигурация удалённого репозитория задаётся с помощью переменных конфигурации remote.origin.url и remote.origin.fetch. (См. git-config[1].)
Код завершения
При успешном выполнении код завершения равен 0.
Если такие подкоманды, как add, rename и remove, не могут найти нужный удалённый репозиторий, код завершения равен 2. Если удалённый репозиторий уже существует, код завершения равен 3.
При любой другой ошибке код завершения может иметь любое другое ненулевое значение.
Примеры
-
Добавить новый удалённый репозиторий, получить данные и переключиться на его ветку
$ git remote origin $ git branch -r origin/HEAD -> origin/master origin/master $ git remote add staging git://git.kernel.org/.../gregkh/staging.git $ git remote origin staging $ git fetch staging ... From git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging * [new branch] master -> staging/master * [new branch] staging-linus -> staging/staging-linus * [new branch] staging-next -> staging/staging-next $ git branch -r origin/HEAD -> origin/master origin/master staging/master staging/staging-linus staging/staging-next $ git switch -c staging staging/master ...
-
Имитировать
gitclone, отслеживая только выбранные ветки$ mkdir project.git $ cd project.git $ git init $ git remote add -f -t master -m master origin git://example.com/git.git/ $ git merge origin
См. также
remote
© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/git-remote