Spec-Zone.ru › Git

git-ls-remote

Имя

git-ls-remote - Список ссылок в удалённом репозитории

Синтаксис

git ls-remote [--branches] [--tags] [--refs] [--upload-pack=<exec>]
              [-q | --quiet] [--exit-code] [--get-url] [--sort=<key>]
              [--symref] [<repository> [<patterns>…​]]

Описание

Отображает доступные ссылки в удалённом репозитории вместе с соответствующими идентификаторами коммитов.

Параметры

-b
--branches
-t
--tags

Ограничить отображением локальных ветвей и локальных тегов соответственно. Эти параметры not являются взаимоисключающими; при указании обоих отображаются ссылки, хранящиеся в refs/heads и refs/tags. Обратите внимание, что --heads и -h являются устаревшими синонимами для --branches и -b и могут быть удалены в будущем. Также обратите внимание, что git ls-remote -h без дополнительных аргументов выводит справку, в соответствии с другими подкомандами git.

--refs

Не отображать раскрытые теги или псевдоссылки, такие как HEAD в выводе.

-q
--quiet

Не выводить URL удалённого репозитория в stderr.

--upload-pack=<exec>

Указывает полный путь к git-upload-pack на удалённом узле. Это позволяет перечислять ссылки из репозиториев, доступных по SSH, где SSH-демон не использует переменную PATH, настроенную пользователем.

--exit-code

Выход со статусом "2", когда в удалённом репозитории не найдено соответствующих ссылок. Обычно команда завершается со статусом "0", чтобы указать, что она успешно общалась с удалённым репозиторием, независимо от того, найдены ли какие-либо соответствующие ссылки.

--get-url

Развернуть URL данного удалённого репозитория с учётом любого параметра конфигурации "url.<base>.insteadOf" (см. git-config[1]) и завершить работу без взаимодействия с удалённым репозиторием.

--symref

В дополнение к объекту, на который она указывает, отобразить базовую ссылку, на которую указывает символическая ссылка при отображении символической ссылки. В настоящее время upload-pack отображает только символическую ссылку HEAD, поэтому она будет единственной, отображаемой ls-remote.

--sort=<key>

Сортировать по заданному ключу. Префикс - используется для сортировки в порядке убывания значений. Поддерживаются "version:refname" или "v:refname" (имена тегов обрабатываются как версии). Порядок сортировки "version:refname" также может зависеть от переменной конфигурации "versionsort.suffix". См. git-for-each-ref[1] для других опций сортировки, но имейте в виду, что ключи, такие как committerdate, требующие доступа к самим объектам, не будут работать для ссылок, объекты которых ещё не извлечены из удалённого репозитория, и приведут к ошибке missing object.

-o <option>
--server-option=<option>

Передать заданную строку серверу при общении с использованием версии протокола 2. Заданная строка не должна содержать символ NUL или LF. При указании нескольких --server-option=<option> они все отправляются на другой конец в порядке, в котором они указаны в командной строке. Если из командной строки не указано никаких --server-option=<option>, вместо этого используются значения переменной конфигурации remote.<name>.serverOption.

<repository>

Удалённый репозиторий для запроса. Этот параметр может быть либо URL, либо именем удалённого репозитория (см. разделы GIT URLS и REMOTES в git-fetch[1]).

<patterns>…​

Если не указано, отображаются все ссылки после фильтрации с помощью --heads и --tags. Если указаны <patterns>…​, отображаются только ссылки, соответствующие одному или нескольким заданным шаблонам. Каждый шаблон интерпретируется как шаблон glob (см. glob в gitglossary[7]), который сопоставляется с "хвостом" ссылки, начиная либо с начала ссылки (например, полное имя, как refs/heads/foo), либо с разделителя слеша (например, bar соответствует refs/heads/bar, но не refs/heads/foobar).

Вывод

Вывод имеет формат:

<oid> TAB <ref> LF

При отображении аннотированного тега, если не указан --refs, отображаются две такие строки: одна со именем ссылки для самого тега как <ref>, и другая с <ref> за которой следует ^{}. <oid> в последней строке отображает имя объекта, на который указывает тег.

Примеры

  • Список всех ссылок (включая символические и псевдоссылки), раскрытие тегов:

    $ git ls-remote
    27d43aaaf50ef0ae014b88bba294f93658016a2e        HEAD
    950264636c68591989456e3ba0a5442f93152c1a        refs/heads/main
    d9ab777d41f92a8c1684c91cfb02053d7dd1046b        refs/heads/next
    d4ca2e3147b409459955613c152220f4db848ee1        refs/tags/v2.40.0
    73876f4861cd3d187a4682290ab75c9dccadbc56        refs/tags/v2.40.0^{}
  • Список всех ссылок, соответствующих заданным шаблонам:

    $ git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc
    5fe978a5381f1fbad26a80e682ddd2a401966740        refs/heads/master
    c781a84b5204fb294c9ccc79f8b3baceeb32c061        refs/heads/seen
  • Список только тегов, соответствующих заданному шаблону с подстановкой:

    $ git ls-remote --tags http://www.kernel.org/pub/scm/git/git.git v\*
    485a869c64a68cc5795dd99689797c5900f4716d        refs/tags/v2.39.2
    cbf04937d5b9fcf0a76c28f69e6294e9e3ecd7e6        refs/tags/v2.39.2^{}
    d4ca2e3147b409459955613c152220f4db848ee1        refs/tags/v2.40.0
    73876f4861cd3d187a4682290ab75c9dccadbc56        refs/tags/v2.40.0^{}

См. также

git-check-ref-format[1].

ls-remote

© 2005–2026 Linus Torvalds and others
Licensed under the GNU General Public License version 2.
https://git-scm.com/docs/git-ls-remote

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API