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, если произошла другая ошибка.
См. также
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