Spec-Zone.ru › Git

git-symbolic-ref

Имя

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

Синтаксис

git symbolic-ref [-m <reason>] <name> <ref>
git symbolic-ref [-q] [--short] [--no-recurse] <name>
git symbolic-ref --delete [-q] <name>

Описание

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

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

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

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

Параметры

-d
--delete

Удалить символическую ссылку <name>.

-q
--quiet

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

--short

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

--recurse
--no-recurse

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

-m

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

Примечания

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

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

См. также

git-update-ref[1]

symbolic-ref

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

Spec-Zone.ru

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