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.45.1 → 2.51.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
СИНОПСИС
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>)…]
КОМАНДИ
Без аргументів показує список існуючих пультів дистанційного керування. Для виконання операцій на пультах дистанційного керування доступні кілька підкоманд.
- add
-
Додайте віддалений репозиторій з назвою <name> для репозиторію за адресою <URL>. Команду
git
fetch
<name> потім можна використовувати для створення та оновлення гілок віддаленого відстеження <name>/<branch>.З опцією
-f
,git
fetch
<назва> запускається одразу після налаштування віддаленої інформації.З опцією
--tags
,git
fetch
<назва> імпортує кожен тег з віддаленого репозиторію.З опцією
--no-tags
,git
fetch
<назва> не імпортує теги з віддаленого репозиторію.За замовчуванням імпортуються лише теги на отриманих гілках (див. git-fetch[1]).
З опцією
-t
<гілка>, замість глобальної специфікації посилань за замовчуванням для віддаленого комп’ютера, яка відстежує всі гілки в просторі іменrefs/remotes/
<назва>/
, створюється специфікація посилань для відстеження лише <гілка>. Ви можете надати більше однієї опції-t
<гілка> для відстеження кількох гілок без захоплення всіх гілок.З опцією
-m
<master> символічне посиланняrefs/remotes/
<назва>/HEAD
встановлюється так, щоб воно вказувало на гілку віддаленого об’єкта <master>. Див. також команду set-head.Коли дзеркало fetch створюється з параметром
--mirror=fetch
, посилання не зберігатимуться в просторі імен refs/remotes/, а все, що знаходиться в refs/ на віддаленому сервері, буде безпосередньо відображено в refs/ у локальному репозиторії. Цей параметр має сенс лише в чистих репозиторіях, оскільки fetch перезапише будь-які локальні коміти.Коли створюється push-дзеркало з
--mirror=push
, тоgit
push
завжди поводитиметься так, ніби було передано--mirror
. - rename
-
Перейменуйте пульт дистанційного керування з назвою <old> на <new>. Усі гілки відстеження дистанційного керування та параметри конфігурації для нього оновлюються.
Якщо <old> та <new> однакові, а <old> — це файл у
$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
,git
remote
set-head
origin
-a
встановить символічне посиланняrefs/remotes/origin/HEAD
наrefs/remotes/origin/next
. Це працюватиме лише якщоrefs/remotes/origin/next
вже існує; якщо ні, його потрібно спочатку отримати.Використовуйте <branch> для явного встановлення символічного посилання
refs/remotes/
<name>/HEAD
. Наприклад,git
remote
set-head
origin
master
встановить символічне посиланняrefs/remotes/origin/HEAD
наrefs/remotes/origin/master
. Це працюватиме, лише якщоrefs/remotes/origin/master
вже існує; якщо ні, його потрібно спочатку отримати. - set-branches
-
Змінює список гілок, що відстежуються іменованим віддаленим пристроєм. Це можна використовувати для відстеження підмножини доступних віддалених гілок після початкового налаштування віддаленого пристрою.
Іменовані гілки будуть інтерпретовані так, ніби їх вказано з опцією
-t
у командному рядкуgit
remote
add
.За допомогою
--add
, замість заміни списку гілок, що наразі відстежуються, виконується додавання до цього списку. - get-url
-
Отримує URL-адреси для віддаленого пристрою. Тут розгорнуто конфігурації для
insteadOf
таpushInsteadOf
. За замовчуванням відображається лише перша URL-адреса.З
--push
запитуються push-URL-адреси, а не URL-адреси для отримання.З параметром
--all
буде перераховано всі URL-адреси віддаленого комп’ютера. - set-url
-
Змінює URL-адреси для віддаленого пристрою. Встановлює першу URL-адресу для віддаленого пристрою <name>, яка відповідає регулярному виразу <oldurl> (першу URL-адресу, якщо <oldurl> не вказано), як <newurl>. Якщо <oldurl> не відповідає жодній URL-адресі, виникає помилка, і нічого не змінюється.
За допомогою
--push
маніпулюють URL-адреси push, а не URL-адреси отримання.За допомогою параметра
--add
замість зміни існуючих URL-адрес додається нова URL-адреса.З параметром
--delete
, замість зміни існуючих URL-адрес, усі URL-адреси, що відповідають регулярному виразу <URL>, видаляються для віддаленого <name>. Спроба видалити всі URL-адреси, що не є push-адресами, призводить до помилки.Зверніть увагу, що URL-адреса для відправлення та URL-адреса для отримання, навіть якщо їх можна встановити по-різному, все одно повинні посилатися на одне й те саме місце. Те, що ви відправили на URL-адресу для відправлення, має бути тим, що ви побачите, якщо одразу ж отримаєте дані з URL-адреси для отримання. Якщо ви намагаєтеся отримати дані з одного місця (наприклад, з вашого основного ресурсу) та відправити їх до іншого (наприклад, з вашого репозиторію публікацій), використовуйте два окремих віддалених пристрої.
- show
-
Надає деяку інформацію про віддалений <ім’я>.
З опцією
-n
віддалені команди не запитуються спочатку за допомогоюgit
ls-remote
<назва>; замість цього використовується кешована інформація. - prune
-
Видаляє застарілі посилання, пов’язані з <name>. За замовчуванням, застарілі гілки віддаленого відстеження під <name> видаляються, але залежно від глобальної конфігурації та конфігурації віддаленого сервера, ми можемо навіть видаляти локальні теги, які не були туди передані. Еквівалентно
git
fetch
--prune
<name>, за винятком того, що нові посилання не будуть отримані.Дивіться розділ PRUNING у git-fetch[1], щоб дізнатися, що саме буде обрізано залежно від різних налаштувань.
З опцією
--dry-run
повідомляти, які гілки будуть обрізані, але насправді їх не обрізати. - update
-
Отримати оновлення для віддалених серверів або віддалених груп у репозиторії, як визначено в
remotes.
<group>. Якщо в командному рядку не вказано ні group, ні remote, буде використано параметр конфігурації 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 ...
-
Імітувати «клон git», але відстежувати лише вибрані гілки
$ 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]