Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.48.1 → 2.54.0 no changes
-
2.48.0
2025-01-10
- 2.43.1 → 2.47.3 no changes
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 no changes
-
2.39.0
2022-12-12
- 2.1.4 → 2.38.5 no changes
-
2.0.5
2014-12-17
ОБЗОР
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]