Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.54.0 no changes
-
2.53.0
2026-02-02
- 2.45.1 → 2.52.0 no changes
-
2.45.0
2024-04-29
- 2.37.1 → 2.44.4 no changes
-
2.37.0
2022-06-27
- 2.36.1 → 2.36.6 no changes
-
2.36.0
2022-04-18
- 2.35.1 → 2.35.8 no changes
-
2.35.0
2022-01-24
- 2.30.1 → 2.34.8 no changes
-
2.30.0
2020-12-27
- 2.29.1 → 2.29.3 no changes
-
2.29.0
2020-10-19
- 2.23.1 → 2.28.1 no changes
-
2.23.0
2019-08-16
- 2.18.1 → 2.22.5 no changes
-
2.18.0
2018-06-21
- 2.17.1 → 2.17.6 no changes
-
2.17.0
2018-04-02
- 2.10.5 → 2.16.6 no changes
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.4.12 → 2.5.6 no changes
-
2.3.10
2015-09-28
- 2.1.4 → 2.2.3 no changes
-
2.0.5
2014-12-17
ОБЗОР
gitremote[-v|--verbose]gitremoteadd[-t<ветка>] [-m<мастер>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <имя> <URL>gitremoterename[--[no-]progress] <старое> <новое>gitremoteremove<имя>gitremoteset-head<имя> (-a|--auto|-d|--delete| <ветка>)gitremoteset-branches[--add] <имя> <ветка>…gitremoteget-url[--push] [--all] <имя>gitremoteset-url[--push] <имя> <новый_URL> [<старый_URL>]gitremoteset-url--add[--push] <имя> <новый_URL>gitremoteset-url--delete[--push] <имя> <URL>gitremote[-v|--verbose]show[-n] <имя>…gitremoteprune[-n|--dry-run] <имя>…gitremote[-v|--verbose]update[-p|--prune] [(<группа> | <внешний_репозиторий>)…]
КОМАНДЫ
Без аргументов показывает список существующих внешних репозиториев. Доступно несколько подкоманд для выполнения операций над внешними репозиториями.
-
add -
Добавляет внешний репозиторий с именем <имя> для репозитория по адресу <URL>. Затем команда
gitfetch<имя> может использоваться для создания и обновления отслеживаемых внешних веток <имя>/<ветка>.С параметром
-fкомандаgitfetch<имя> запускается сразу после настройки информации о внешнем репозитории.С параметром
--tagsкомандаgitfetch<имя> импортирует каждую метку из внешнего репозитория.С параметром
--no-tagsкомандаgitfetch<имя> не импортирует метки из внешнего репозитория.По умолчанию импортируются только метки на извлечённых ветках (см. git-fetch[1]).
С параметром
-t<ветка> вместо спецификатора ссылки glob по умолчанию для внешнего репозитория, отслеживающего все ветки в пространстве имёнrefs/remotes/<имя>/, создаётся спецификатор ссылки для отслеживания только <ветка>. Вы можете указать более одного-t<ветка>, чтобы отслеживать несколько веток без получения всех веток.С параметром
-m<мастер> настраивается символическая ссылкаrefs/remotes/<имя>/HEAD, указывающая на ветку <мастер> внешнего репозитория. См. также команду set-head.Когда зеркало для извлечения создаётся с помощью
--mirror=fetch, ссылки не будут храниться в пространстве имёнrefs/remotes/, а всё, что находится вrefs/на внешнем репозитории, будет напрямую зеркалироваться вrefs/в локальном репозитории. Этот параметр имеет смысл только в голых репозиториях, поскольку извлечение перезапишет любые локальные коммиты.Когда зеркало для отправки создаётся с помощью
--mirror=push, тоgitpushвсегда будет вести себя так, как если бы был передан параметр--mirror. -
rename -
Переименовывает внешний репозиторий с именем <старое> в <новое>. Все отслеживаемые внешние ветки и параметры конфигурации для этого внешнего репозитория обновляются.
В случае, если <старое> и <новое> совпадают, и <старое> является файлом в
$GIT_DIR/remotesили$GIT_DIR/branches, внешний репозиторий преобразуется в формат файла конфигурации. -
remove -
rm -
Удаляет внешний репозиторий с именем <имя>. Все отслеживаемые внешние ветки и параметры конфигурации для этого внешнего репозитория удаляются.
-
set-head -
Устанавливает или удаляет ветку по умолчанию (т.е. цель символической ссылки
refs/remotes/<имя>/HEAD) для именованного внешнего репозитория. Наличие ветки по умолчанию для внешнего репозитория не требуется, но позволяет указывать имя внешнего репозитория вместо конкретной ветки. Например, если ветка по умолчанию дляoriginустановлена наmaster, тоoriginможно указывать везде, где вы обычно указываетеorigin/master.С параметром
-dили--deleteсимволическая ссылкаrefs/remotes/<имя>/HEADудаляется.С параметром
-aили--autoвнешний репозиторий опрашивается для определения егоHEAD, затем символическая ссылкаrefs/remotes/<имя>/HEADустанавливается на ту же ветку. Например, если внешнийHEADуказывает наnext,gitremoteset-headorigin-aустановит символическую ссылкуrefs/remotes/origin/HEADнаrefs/remotes/origin/next. Это будет работать, только еслиrefs/remotes/origin/nextуже существует; если нет, его нужно сначала извлечь.Используйте <ветка>, чтобы явно установить символическую ссылку
refs/remotes/<имя>/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 для отправки, а не URL для извлечения.С параметром
--allбудут перечислены все URL для внешнего репозитория. -
set-url -
Изменяет URL для внешнего репозитория. Устанавливает первый URL для внешнего репозитория <имя>, который соответствует регулярному выражению <старый_URL> (первый URL, если <старый_URL> не указан), в <новый_URL>. Если <старый_URL> не соответствует ни одному URL, возникает ошибка, и ничего не меняется.
С параметром
--pushобрабатываются URL для отправки вместо URL для извлечения.С параметром
--add, вместо изменения существующих URL, добавляется новый URL.С параметром
--delete, вместо изменения существующих URL, для внешнего репозитория <имя> удаляются все URL, соответствующие регулярному выражению <URL>. Попытка удалить все не-push URL является ошибкой.Обратите внимание, что URL отправки и URL извлечения, даже если они могут быть заданы по-разному, всё равно должны ссылаться на одно и то же место. То, что вы отправили по URL отправки, должно быть тем, что вы увидите, если немедленно извлечёте из URL извлечения. Если вы пытаетесь извлекать из одного места (например, ваш вышестоящий репозиторий) и отправлять в другое (например, ваш публикующий репозиторий), используйте два отдельных внешних репозитория.
-
show -
Необходима некоторая информацию об удалённом <имя>.
С параметром
-nголовы внешнего репозитория сначала не опрашиваются с помощьюgitls-remote<имя>; вместо этого используется кэшированная информация. -
prune -
Удаляет устаревшие ссылки, связанные с <имя>. По умолчанию устаревшие отслеживаемые внешние ветки внутри <имя> удаляются, но в зависимости от глобальной конфигурации и конфигурации внешнего репозитория мы можем даже подчистить локальные метки, которые не были туда отправлены. Эквивалентно
gitfetch--prune<имя>, за исключением того, что никакие новые ссылки не будут извлекаться.Смотрите раздел ПОДЧИСТКА в git-fetch[1], чтобы узнать, что будет подчищено в зависимости от различных конфигураций.
С параметром
--dry-runсообщает, какие ветки будут подчищены, но фактически не подчищает их. -
update -
Извлекает обновления для внешних репозиториев или групп внешних репозиториев в репозитории, как определено
remotes.<группа>. Если ни группа, ни внешний репозиторий не указаны в командной строке, будет использоваться параметр конфигурацииremotes.default; еслиremotes.defaultне определён, будут обновлены все внешние репозитории, у которых параметр конфигурацииremote.<имя>.skipDefaultUpdateне установлен вtrue. (См. git-config[1]).С параметром
--pruneвыполняет подчистку для всех внешних репозиториев, которые обновляются.
ОБСУЖДЕНИЕ
Конфигурация внешнего репозитория достигается с помощью переменных конфигурации remote.origin.url и remote.origin.fetch. (См. git-config[1]).
КОД ЗАВЕРШЕНИЯ
В случае успеха код выхода равен 0.
Когда подкоманды, такие как add, rename и remove, не могут найти указанный внешний репозиторий, код выхода равен 2. Когда внешний репозиторий уже существует, код выхода равен 3.
При любой другой ошибке код завершения может быть любым другим ненулевым значением.
ПРИМЕРЫ
-
Добавить новый внешний репозиторий, получить (fetch) данные и переключиться (checkout) на ветку из него
$ 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
GIT
Является частью пакета git[1]