Русский ▾ Topics ▾ Latest version ▾ git-symbolic-ref last updated in 2.48.0

НАЗВАНИЕ

git-symbolic-ref — чтение, изменение и удаление символьных ссылок

ОБЗОР

git symbolic-ref [-m <причина>] <имя> <ссылка>
git symbolic-ref [-q] [--short] [--no-recurse] <имя>
git symbolic-ref --delete [-q] <имя>

ОПИСАНИЕ

Если задан один аргумент, читает, на какую голову ветки указывает данная символьная ссылка, и выводит её путь относительно каталога .git/. Обычно вы передаёте HEAD в качестве аргумента <имя>, чтобы увидеть, на какой ветке находится ваш рабочий каталог.

Если задано два аргумента, создаёт или обновляет символьную ссылку <имя>, чтобы она указывала на указанную ветку <ссылка>.

Если указан --delete и дополнительный аргумент, удаляет указанную символьную ссылку.

Символьная ссылка — это обычный файл, который хранит строку, начинающуюся с ref: refs/. Например, ваш .git/HEAD — это обычный файл, содержимое которого — ref: refs/heads/master.

ПАРАМЕТРЫ

-d
--delete

Удалить символьную ссылку <имя>.

-q
--quiet

Не выдавать сообщение об ошибке, если <имя> не является символьной ссылкой, а является отсоединённым HEAD; вместо этого молча завершиться с ненулевым статусом.

--short

При показе значения <имя> как символьной ссылки попытаться сократить значение, например, с refs/heads/master до master.

--recurse
--no-recurse

При показе значения <имя> как символьной ссылки, если <имя> ссылается на другую символьную ссылку, следовать по такой цепочке символьных ссылок, пока результат больше не будет указывать на символьную ссылку (--recurse, что является значением по умолчанию). --no-recurse останавливается после разыменования только одного уровня символьной ссылки.

-m

Обновить журнал ссылок для <имя> с указанием <причины>. Это допустимо только при создании или обновлении символьной ссылки.

ЗАМЕТКИ

В прошлом .git/HEAD был символьной ссылкой, указывающей на refs/heads/master. Когда мы хотели переключиться на другую ветку, мы делали ln -sf refs/heads/новаяветка .git/HEAD, а когда хотели узнать, на какой ветке мы находимся, мы делали readlink .git/HEAD. Но символьные ссылки не являются полностью переносимыми, поэтому теперь они устарели, и по умолчанию используются символьные ссылки (как описано выше).

git symbolic-ref завершится со статусом 0, если содержимое символьной ссылки было выведено правильно, со статусом 1, если запрошенное имя не является символьной ссылкой, или 128, если произошла другая ошибка.

СМ. ТАКЖЕ

GIT

Является частью пакета git[1]