SYNOPSIS

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

DESCRIPTION

引数が1つ与えられると、指定されたシンボリックrefが参照するブランチヘッドを読み取り、 .git/ ディレクトリを基準にしてそのパスを出力します。 通常、作業ツリーがどのブランチにあるかを確認するには、 <name> 引数として HEAD を指定します。

2つの引数を与えると、指定されたブランチ <ref> を指すようにシンボリックref <name> を作成または更新します。

--delete と追加の引数を指定すると、指定されたシンボリックrefが削除されます。

A symbolic ref is a regular file that stores a string that begins with ref: refs/. For example, your .git/HEAD is a regular file whose content is ref: refs/heads/master.

OPTIONS

-d
--delete

Delete the symbolic ref <name>.

-q
--quiet

Do not issue an error message if the <name> is not a symbolic ref but a detached HEAD; instead exit with non-zero status silently.

--short

When showing the value of <name> as a symbolic ref, try to shorten the value, e.g. from refs/heads/master to master.

--recurse
--no-recurse

When showing the value of <name> as a symbolic ref, if <name> refers to another symbolic ref, follow such a chain of symbolic refs until the result no longer points at a symbolic ref (--recurse, which is the default). --no-recurse stops after dereferencing only a single level of symbolic ref.

-m

Update the reflog for <name> with <reason>. This is valid only when creating or updating a symbolic ref.

NOTES

以前は、 .git/HEADrefs/heads/master を指すシンボリックリンクでした。別のブランチに切り替えたい場合は、 ln -sf refs/heads/newbranch .git/HEAD を実行し、現在のブランチを確認したい場合は、 readlink .git/HEAD を実行しました。 ただし、シンボリックリンクは完全に移植可能ではないため、非推奨になり、(上記のとおり)シンボリックrefがデフォルトで使用されます。

git symbolic-ref は、シンボリックrefの内容が正しく出力された場合はステータス0で終了し、要求された名前がシンボリックrefでない場合はステータス1で終了し、別のエラーが発生した場合は128で終了します。

SEE ALSO

GIT

Part of the git(1) suite