Git
日本語 ▾ トピック ▾ 最新バージョン ▾ git-symbolic-ref は 2.43.0 で最後に更新されました

名前

git-symbolic-ref - シンボリック参照の読み取り、変更、削除

概要

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

説明

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

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

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

シンボリック参照とは、ref: refs/で始まる文字列を格納する通常のファイルです。 たとえば、.git/HEADは、内容がref: refs/heads/masterである通常のファイルです。

オプション

-d
--delete

シンボリック参照<name>を削除します。

-q
--quiet

<name>がシンボリック参照ではなく、デタッチされたHEADの場合、エラーメッセージを出力せずに、エラーのないステータスでサイレントに終了します。

--short

<name>の値をシンボリック参照として表示する場合、値を短縮しようとします。たとえば、refs/heads/mastermasterに短縮します。

--recurse
--no-recurse

<name>の値をシンボリック参照として表示する場合、<name>が別のシンボリック参照を参照している場合、結果がシンボリック参照を指さなくなるまで、そのようなシンボリック参照のチェーンをたどります(デフォルトは--recurse)。 --no-recurseは、シンボリック参照の1レベルのみを逆参照した後に停止します。

-m

<name>のreflogを<reason>で更新します。 これは、シンボリック参照を作成または更新する場合にのみ有効です。

注記

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

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

GIT

git[1] スイートの一部

scroll-to-top