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<branch>] [-m<master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <URL>gitremoterename[--[no-]progress] <old> <new>gitremoteremove<name>gitremoteset-head<name> (-a|--auto|-d|--delete| <branch>)gitremoteset-branches[--add] <name> <branch>…gitremoteget-url[--push] [--all] <name>gitremoteset-url[--push] <name> <newurl> [<oldurl>]gitremoteset-url--add[--push] <name> <newurl>gitremoteset-url--delete[--push] <name> <URL>gitremote[-v|--verbose]show[-n] <name>…gitremoteprune[-n|--dry-run] <name>…gitremote[-v|--verbose]update[-p|--prune] [(<group> | <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/<назва>/HEADвстановлюється так, щоб воно вказувало на гілку <master> віддаленого репозиторію. Див. також команду set-head.Якщо при створенні дзеркала для завантаження використовується параметр
--mirror=fetch, посилання не зберігатимуться в просторі іменrefs/remotes/, а весь вміст текиrefs/на віддаленому репозиторії буде безпосередньо дзеркально скопійовано в текуrefs/локального репозиторію. Цей параметр доцільно використовувати лише для «голих» репозиторіїв, оскільки операція завантаження перезапише всі локальні коміти.Якщо дзеркало push створюється з параметром
--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/<назва>/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-адрес додається нова URL-адреса.З параметром
--deleteзамість зміни наявних URL-адрес видаляються всі URL-адреси, що відповідають регулярному виразу <URL>, для віддаленого репозиторію <name>. Спроба видалити всі URL-адреси, що не є push-адресами, призведе до помилки.Зверніть увагу, що URL-адреса для надсилання та URL-адреса для отримання, хоч їх і можна налаштувати по-різному, все одно повинні вказувати на одне й те саме місце. Те, що ви надіслали на URL-адресу для надсилання, має збігатися з тим, що ви побачите, якщо одразу ж отримаєте дані з URL-адреси для отримання. Якщо ви намагаєтеся отримати дані з одного місця (наприклад, з вашого upstream) і надіслати їх в інше (наприклад, у ваш репозиторій для публікації), використовуйте два окремі віддалені репозиторії.
-
show -
Показує деяку інформацію про віддалений репозиторій <імʼя>.
З опцією
-nвершини з віддалених репозиторіїв спочатку не запитуються за допомогою командиgitls-remote<name>; замість цього використовується інформація з кешу. -
prune -
Видаляє застарілі посилання, пов’язані з <name>. Стандартно видаляються застарілі гілки віддаленого відстеження в <name>, але залежно від глобальних налаштувань та конфігурації віддаленого репозиторію ми можемо навіть видалити локальні теги, які ще не були надіслані туди. Еквівалентно команді
gitfetch--prune<name>, за винятком того, що нові посилання не будуть завантажуватися.Дивіться розділ ОЧИЩЕННЯ у документації 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 ... З 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]