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.43.1 → 2.54.0 no changes
-
2.43.0
2023-11-20
- 2.22.1 → 2.42.4 no changes
-
2.22.0
2019-06-07
- 2.18.1 → 2.21.4 no changes
-
2.18.0
2018-06-21
- 2.3.10 → 2.17.6 no changes
-
2.2.3
2015-09-04
- 2.1.4 no changes
-
2.0.5
2014-12-17
ОПИСАНИЕ
Этот помощник работы с внешним репозиторием использует указанную <команду> для подключения к внешнему серверу Git.
Предполагается, что данные, записанные в stdin указанной <команды>, отправляются на сервер git://, git-upload-pack, git-receive-pack или git-upload-archive (в зависимости от ситуации), а данные, считанные из stdout <команды>, предположительно получены от той же службы.
Команда и аргументы разделяются неэкранированным пробелом.
Следующие последовательности имеют особое значение:
- '% '
-
Буквальный пробел в команде или аргументе.
- %%
-
Буквальный знак процента.
- %s
-
Заменяется на имя (receive-pack, upload-pack или upload-archive) службы, которую Git хочет вызвать.
- %S
-
Заменяется на длинное имя (git-receive-pack, git-upload-pack или git-upload-archive) службы, которую Git хочет вызвать.
- %G (должен быть первыми символами в аргументе)
-
Этот аргумент не будет передан <команде>. Вместо этого он заставит помощника начать с отправки запросов службы git:// на внешнюю сторону с полем службы, установленным в соответствующее значение, и полем репозитория, установленным в остальную часть аргумента. По умолчанию такой запрос не отправляется.
Это полезно, если внешняя сторона — это сервер git://, доступ к которому осуществляется через какой-либо туннель.
- %V (должен быть первыми символами в аргументе)
-
Этот аргумент не будет передан <команде>. Вместо этого он устанавливает поле vhost в запросе службы git:// (в остальную часть аргумента). По умолчанию vhost в таком запросе не отправляется (если отправляется).
ПРИМЕРЫ
Этот помощник работы с внешним репозиторием прозрачно используется Git, когда вы используете такие команды, как "git fetch <URL>", "git clone <URL>", "git push <URL>" или "git remote add <псевдоним> <URL>", где <URL> начинается с ext::. Примеры:
- "ext::ssh -i /home/foo/.ssh/somekey user@host.example %S foo/repo"
-
Как host.example:foo/repo, но использует /home/foo/.ssh/somekey в качестве пары ключей и user в качестве пользователя на внешней стороне. Это избавляет от необходимости редактировать .ssh/config.
- "ext::socat -t3600 - ABSTRACT-CONNECT:/git-server %G/некий-репо"
-
Представляет репозиторий с путём /somerepo, доступный по протоколу git по адресу абстрактного пространства имён /git-server.
- "ext::git-server-alias foo %G/repo"
-
Представляет репозиторий с путём /repo, доступ к которому осуществляется с помощью программы-помощника "git-server-alias foo". Путь к репозиторию и тип запроса не передаются в командной строке, а как часть потока протокола, как обычно для протокола git://.
- "ext::git-server-alias foo %G/repo %Vfoo"
-
Представляет репозиторий с путём /repo, доступ к которому осуществляется с помощью программы-помощника "git-server-alias foo". Имя хоста для внешнего сервера, передаваемое в потоке протокола, будет "foo" (это позволяет нескольким виртуальным серверам Git использовать один адрес канального уровня).
- "ext::git-server-alias foo %G/repo% with% spaces %Vfoo"
-
Представляет репозиторий с путём
/repowithspaces, доступ к которому осуществляется с помощью программы-помощника "git-server-alias foo". Имя хоста для внешнего сервера, передаваемое в потоке протокола, будет "foo" (это позволяет нескольким виртуальным серверам Git использовать один адрес канального уровня). - "ext::git-ssl foo.example /bar"
-
Представляет репозиторий, доступ к которому осуществляется с помощью программы-помощника "git-ssl foo.example /bar". Тип запроса может быть определён помощником с использованием переменных среды (см. выше).
GIT
Является частью пакета git[1]