Это команда gitremote-helpers, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
gitremote-helpers - программы-помощники для взаимодействия с удаленными репозиториями
СИНТАКСИС
мерзавец удаленный- [ ]
ОПИСАНИЕ
Программы удаленного помощника обычно не используются конечными пользователями напрямую, но они вызываются.
от Git, когда ему нужно взаимодействовать с удаленными репозиториями, Git изначально не поддерживает. А
Данный помощник реализует подмножество описанных здесь возможностей. Когда Git нужно
для взаимодействия с репозиторием с помощью удаленного помощника он порождает помощника как
независимый процесс, отправляет команды на стандартный ввод помощника и ожидает результатов
из стандартного вывода помощника. Поскольку удаленный помощник работает как независимый процесс
из Git, нет необходимости повторно связывать Git, чтобы добавить новый помощник, или связывать
помощник с реализацией Git.
Каждый помощник должен поддерживать команду «Возможности», которую Git использует для определения того, что
другие команды, которые примет помощник. Эти другие команды можно использовать для обнаружения и
обновлять удаленные ссылки, переносить объекты между базой данных объектов и удаленным
репозиторий и обновите локальное хранилище объектов.
Git поставляется с семейством удаленных помощников curl, которые обрабатывают различные транспортные протоколы,
как git-удаленный-http, git-удаленный-https, git-удаленный-ftp и git-remote-ftps. Они
реализовать возможности получать, вариант и протолкнуть..
ПРИЗЫВ
Удаленные вспомогательные программы вызываются с одним или (необязательно) двумя аргументами. Первое
аргумент указывает удаленный репозиторий, как в Git; это либо имя настроенного
удаленный или URL-адрес. Второй аргумент указывает URL-адрес; это обычно имеет форму
: //, но возможна любая произвольная строка. В GIT_DIR охрана окружающей среды
переменная настроена для удаленного помощника и может использоваться, чтобы определить, где хранить
дополнительные данные или из какого каталога вызывать вспомогательные команды Git.
Когда Git встречает URL-адрес формы : //, Где - это
протокол, который он не может обрабатывать изначально, он автоматически вызывает мерзавец удаленный-
с полным URL-адресом в качестве второго аргумента. Если такой URL встречается непосредственно в
в командной строке первый аргумент совпадает со вторым, и если он встречается в
настроенный удаленный, первый аргумент - это имя этого пульта.
URL формы :: явно указывает Git вызвать мерзавец
удаленный- как второй аргумент. Если такой URL встречается
непосредственно в командной строке, первый аргумент - , и если он встречается в
настроенный пульт, первый аргумент - это имя этого пульта.
Кроме того, когда настроенный пульт удаленный. .vcs установлен в , Гит
явно вызывает мерзавец удаленный- как первый аргумент. Если установлено,
второй аргумент удаленный. .url; в противном случае второй аргумент опускается.
ВХОД ФОРМАТ
Git отправляет удаленному помощнику список команд на стандартный ввод, по одной в каждой строке. Первое
команда всегда возможности команда, в ответ на которую удаленный помощник должен
распечатайте список поддерживаемых им возможностей (см. ниже), а затем пустую строку. В
ответ на команду возможностей определяет, какие команды Git использует в оставшейся части
командный поток.
Командный поток заканчивается пустой строкой. В некоторых случаях (указано в
документацию по соответствующим командам), за этой пустой строкой следует полезная нагрузка в некоторых
другой протокол (например, протокол пакета), в то время как в других он указывает конец ввода.
Обработка и услуги
Ожидается, что каждый удаленный помощник будет поддерживать только подмножество команд. Операции а
поддержка помощников объявляется в Git в ответ на команду features (см.
КОМАНДЫ, ниже).
Далее мы перечисляем все определенные возможности и для каждой перечисляем, какие команды
должен предоставить помощник с такой возможностью.
Обработка и услуги для Нажимать
соединяться
Может попытаться подключиться к мерзавец приемная упаковка (для толкания), мерзавец загрузить пакети т. д. для
связь с использованием собственного протокола git packfile. Для этого требуется двунаправленный,
полнодуплексное соединение.
Поддерживаемые команды: соединяться.
протолкнуть.
Может обнаруживать удаленные ссылки и отправлять локальные коммиты и историю, ведущую к ним.
к новым или существующим удаленным ссылкам.
Поддерживаемые команды: список для толчка, протолкнуть..
экспорт
Может обнаруживать удаленные ссылки и отправлять указанные объекты из потока быстрого импорта в
удаленные ссылки.
Поддерживаемые команды: список для толчка, экспорт.
Если помощник рекламирует соединяться, Git будет использовать его, если возможно, и вернется к другому
возможность, если помощник запрашивает это при подключении (см. соединяться команда под
КОМАНДЫ). При выборе между протолкнуть. и экспорт, Git предпочитает протолкнуть.. Другие интерфейсы
может иметь другой порядок предпочтений.
не-частное-обновление
При использовании спецификация возможность, git обычно обновляет частную ссылку на
успешный толчок. Это обновление отключается, когда удаленный помощник объявляет
возможности не-частное-обновление.
Обработка и услуги для Получение
соединяться
Можно попробовать подключиться к мерзавец загрузить пакет (для получения), мерзавец приемная упаковкаи т. д. для
связь с использованием собственного протокола Git packfile. Это требует
двунаправленное, дуплексное соединение.
Поддерживаемые команды: соединяться.
получать
Может обнаруживать удаленные ссылки и передавать доступные от них объекты на локальный
объектный магазин.
Поддерживаемые команды: список, получать.
Импортировать
Может обнаруживать удаленные ссылки и объекты вывода, доступные из них, в виде потока в
формат быстрого импорта.
Поддерживаемые команды: список, Импортировать.
проверка связи
Может гарантировать, что при запросе клона полученный пакет будет самодостаточным
и связан.
Если помощник рекламирует соединяться, Git будет использовать его, если возможно, и вернется к другому
возможность, если помощник запрашивает это при подключении (см. соединяться команда под
КОМАНДЫ). При выборе между получать и Импортировать, Git предпочитает получать. Другие интерфейсы
может иметь другой порядок предпочтений.
Прочее возможности
вариант
Для указания таких настроек, как подробность (сколько вывода писать в stderr) и
глубина (сколько истории требуется в случае неглубокого клона), которые влияют на то, как
другие команды выполняются.
спецификация
Для удаленных помощников, реализующих Импортировать or экспорт, эта возможность позволяет
refs должны быть ограничены частным пространством имен вместо записи в refs / Head или
ссылки / пульты напрямую. Рекомендуется, чтобы все импортеры, предоставляющие Импортировать
возможность использовать это. Это обязательно для экспорт.
Помощник, рекламирующий возможность refspec
refs / Heads / *: refs / svn / origin / branch / * говорит, что, когда его просят импортировать
refs / Heads / topic, поток, который он выводит, обновит
refs / svn / origin / branch / topic ref.
Эта возможность может рекламироваться несколько раз. Первый применимый refspec
имеет приоритет. Левая часть refspecs, объявленных с этой возможностью, должна
охватить все ссылки, сообщенные командой list. Если нет спецификация возможность
рекламируется, имеется подразумеваемый refspec *: *.
При написании удаленных помощников для децентрализованных систем управления версиями
рекомендуется сохранить локальную копию репозитория для взаимодействия и позволить
ссылки частного пространства имен указывают на этот локальный репозиторий, а ссылки / удаленные
пространство имен используется для отслеживания удаленного репозитория.
двунаправленный импорт
Это изменяет Импортировать возможности. Команды быстрого импорта кошачья капля и ls
использоваться удаленными помощниками для получения информации о каплях и деревьях, которые
уже существуют в памяти быстрого импорта. Для этого требуется канал от быстрого импорта до
удаленный помощник. Если это рекламируется в дополнение к «импорту», Git устанавливает
канал из быстрого импорта в стандартный ввод удаленного помощника. Отсюда следует, что Git и
fast-import оба подключены к stdin удаленного помощника. Потому что Git может отправлять
несколько команд для удаленного помощника требуется, чтобы помощники, использующие
двунаправленный импорт буфер все Импортировать команды пакета перед отправкой данных в
быстрый импорт. Это сделано для предотвращения смешивания команд и ответов быстрого импорта на
стандартный ввод помощника.
экспортные марки
Это изменяет экспорт возможность, инструктируя Git сбрасывать внутренние метки
стол к по завершении. Подробнее читайте на --export-mark = in
git-быстрый экспорт(1).
импортные марки
Это изменяет экспорт возможность, указав Git загрузить указанные метки
в перед обработкой любого ввода. Подробнее читайте на
--import-mark = in git-быстрый экспорт(1).
подписанные теги
Это изменяет экспорт возможность, инструктируя Git пройти
--signed-tags = дословно в git-быстрый экспорт(1). В отсутствие этой возможности
Git будет использовать --signed-tags = предупреждение-полоса.
КОМАНДЫ
Команды вводятся вызывающей стороной на стандартном вводе помощника, по одной в каждой строке.
возможности
Перечисляет возможности помощника, по одной в строке, заканчивая пустой строкой. Каждый
возможности может предшествовать *, что делает их обязательными для версий Git, использующих
удаленный помощник, чтобы понять. Любая неизвестная обязательная возможность является фатальной ошибкой.
Поддержка этой команды обязательна.
список
Перечисляет ссылки, по одной в строке, в формате " [ ...]". Значение
может быть шестнадцатеричным хешем sha1, "@ "для symref или"? ", чтобы указать, что помощник
не смог получить значение реф. Список атрибутов, разделенных пробелами, следует за
имя; нераспознанные атрибуты игнорируются. Список заканчивается пустой строкой.
См. REF LIST ATTRIBUTES для получения списка определенных в настоящее время атрибутов.
Поддерживается, если помощник имеет возможность «выборки» или «импорта».
список для толчка
Похожий на что список, за исключением того, что он используется тогда и только тогда, когда вызывающий хочет
результирующий список ссылок для подготовки команд push. Помощник, поддерживающий как push, так и fetch
можно использовать это, чтобы различать, для какой операции вывод список будет
, что может сократить объем работы, которую необходимо выполнить.
Поддерживается, если помощник имеет возможность «выталкивать» или «экспортировать».
вариант
Устанавливает опцию транспортного помощника к . Выводит одну строку, содержащую
один из ok (опция успешно установлена), не поддерживается (вариант не распознан) или ошибка
(вариант поддерживается, но не действует для этого). Варианты должны быть
устанавливается перед другими командами и может влиять на поведение этих команд.
См. ОПЦИИ для списка текущих опций.
Поддерживается, если у помощника есть «опция».
получать
Выбирает данный объект, записывая необходимые объекты в базу данных. Принести
Команды отправляются пакетно, по одной в строке, заканчивая пустой строкой. Выводит
одна пустая строка, когда все команды выборки в одном пакете завершены. Только объекты
о которых сообщалось в выводе список с помощью sha1 можно получить таким образом.
По желанию может выводить Блокировка строка с указанием файла в GIT_DIR / objects / pack
который хранит пакет до тех пор, пока ссылки не будут обновлены должным образом.
Если вариант проверка связи запрашивается, помощник должен вывести подключение-нормально if
клон самодостаточен и подключен.
Поддерживается, если помощник имеет возможность "выборки".
протолкнуть. + :
Подталкивает данный местный совершить или перейти к удаленной ветке, описанной .
Пакетная последовательность из одного или нескольких протолкнуть. завершается пустой строкой (если
есть только одна ссылка на push, одна протолкнуть. за командой следует пробел
линия). Например, ниже будут две партии протолкнуть., первый спрашивает
удаленный помощник, чтобы подтолкнуть локальную ссылку мастер к удаленному исх. мастер и местный ГОЛОВА
на удаленный филиал, а второй просит нажать ref Foo реферировать бар (принудительное обновление
по просьбе +).
нажать ссылки / головы / мастер: ссылки / головы / мастер
push HEAD: ссылки / главы / ветка
\n
push + ссылки / головы / foo: ссылки / головы / бар
\n
Ноль или более вариантов протокола могут быть введены после последнего протолкнуть. команда, перед
завершающая пустая строка пакета.
Когда нажатие завершено, выводит один или несколько ok or ошибка ? линий
для обозначения успеха или неудачи каждой отправленной ссылки. Вывод отчета о состоянии
заканчивается пустой строкой. Поле опций может быть заключен в кавычки в строке стиля C
если он содержит LF.
Поддерживается, если помощник имеет возможность «проталкивать».
Импортировать
Создает поток быстрого импорта, который импортирует текущее значение именованной ссылки. Это может
дополнительно импортируйте другие ссылки по мере необходимости для эффективного построения истории. В
script записывает в частное пространство имен, зависящее от помощника. Значение названного ref
должен быть записан в место в этом пространстве имен, полученное путем применения refspecs
от возможности "refspec" до имени ссылки.
Особенно полезно для взаимодействия с зарубежной системой управления версиями.
Так же, как протолкнуть., пакетная последовательность из одного или нескольких Импортировать заканчивается пробелом
линия. Для каждой партии Импортировать, удаленный помощник должен создать поток быстрого импорта
прекращено сделанный команда.
Обратите внимание, что если двунаправленный импорт возможность используется полная последовательность партии должна быть
буферизуется перед началом отправки данных в быстрый импорт, чтобы предотвратить смешивание команд и
ответы быстрого импорта на стандартный ввод помощника.
Поддерживается, если у помощника есть возможность «импорта».
экспорт
Указывает удаленному помощнику, что любой последующий ввод является частью потока быстрого импорта
(создано мерзавец быстрый экспорт), содержащий объекты, которые следует поместить в
удаленный.
Особенно полезно для взаимодействия с зарубежной системой управления версиями.
The экспортные марки и импортные марки возможности, если они указаны, влияют на эту команду в
насколько они передаются мерзавец быстрый экспорт, который затем загрузит / сохранит таблицу
знаки для локальных объектов. Это можно использовать для инкрементных операций.
Поддерживается, если помощник имеет возможность экспорта.
соединяться
Подключается к данной услуге. Стандартный ввод и стандартный вывод помощника связаны
для указанной службы (префикс git включен в имя службы, поэтому, например, при выборке используется
git-загрузочный пакет как услуга) на удаленной стороне. Действительные ответы на эту команду пусты
линия (соединение установлено), отступление (без поддержки умного транспорта, откатитесь к тупому
транспортирует) и просто выходит с напечатанным сообщением об ошибке (не удается подключиться, не беспокойтесь
пытаясь отступить). После завершения положительного (пустого) ответа перевод строки
вывод службы запускается. После завершения соединения удаленный помощник завершает работу.
Поддерживается, если помощник имеет возможность «подключиться».
В случае фатальной ошибки программа записывает сообщение об ошибке в stderr и завершает работу. В
вызывающий должен ожидать, что будет напечатано подходящее сообщение об ошибке, если дочерний элемент закрывается
соединение без завершения действительного ответа на текущую команду.
Могут поддерживаться дополнительные команды, что может быть определено на основе возможностей, о которых сообщает
помощник.
REF СПИСОК ПРИЗНАКИ
The список команда создает список ссылок, в котором за каждой ссылкой может следовать список
атрибуты. Определены следующие атрибуты списка ссылок.
без изменений
Этот ref не изменился с момента последнего импорта или выборки, хотя помощник не может
обязательно определите, какую ценность это произвело.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Следующие параметры определены и (при подходящих обстоятельствах) установлены Git, если
удаленный помощник имеет вариант возможность.
вариант многословие
Изменяет уровень детализации сообщений, отображаемых помощником. Значение 0 для средства
эти процессы работают тихо, а помощник выдает только ошибку. 1 - это
уровень детализации по умолчанию и более высокие значения соответствуют количеству -v
флаги передаются в командной строке.
вариант прогресс {правда|ложный}
Включает (или отключает) сообщения о ходе выполнения, отображаемые помощником транспорта во время
команда.
вариант глубина
Углубляет историю неглубокого хранилища.
вариант подписаться {правда|ложный}
Если этот параметр включен, помощник должен автоматически получать объекты аннотированных тегов, если объект
точки тега были переданы во время команды выборки. Если тег не получен
помощником обычно отправляется вторая команда выборки, чтобы запросить тег
конкретно. Некоторые помощники могут использовать эту опцию, чтобы избежать второй сети.
подключение.
вариант прогон, репетиция {правда|ложный}: Если true, притвориться, что операция завершилась успешно, но
фактически не изменяйте данные репозитория. Для большинства помощников это относится только к протолкнуть.,
если поддерживается.
вариант путь к серверу
Устанавливает служебный путь (--upload-pack, --receive-pack и т. Д.) Для следующего подключения. Удаленный помощник
может поддерживать эту опцию, но не следует полагаться на установку этой опции перед подключением
запрос происходит.
вариант проверка связи {правда|ложный}
Попросите помощника проверить возможность подключения клона.
вариант сила {правда|ложный}
Попросите помощника выполнить принудительное обновление. По умолчанию ложный.
вариант клонирование {'правда|ложный}
Сообщите помощнику, что это запрос клонирования (т. Е. Текущий репозиторий гарантирован
пустой).
вариант мелкое обновление {'правда|ложный}
Разрешите расширять .git / shallow, если этого требуют новые ссылки.
вариант pushcert {'правда|ложный}
Знак GPG толкает.
Используйте gitremote-helpers онлайн с помощью сервисов onworks.net