簡體中文 ▾ 主題 ▾ 最新版本 ▾ git-symbolic-ref 最後更新於 2.48.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>

描述

給定一個引數時,讀取指定符號引用所指向的分支頭,並輸出其相對於 .git/ 目錄的路徑。通常你會將 HEAD 作為 <name> 引數來檢視你的工作樹位於哪個分支上。

給定兩個引數時,建立或更新一個符號引用 <name>,使其指向指定的分支 <ref>。

給定 --delete 和一個額外引數時,刪除指定的符號引用。

符號引用是一個普通檔案,儲存著以 ref: refs/ 開頭的字串。例如,你的 .git/HEAD 是一個普通檔案,其內容是 ref: refs/heads/master

選項

-d
--delete

刪除符號引用 <name>。

-q
--quiet

如果 <name> 不是符號引用而是分離頭(detached HEAD),則不發出錯誤訊息;而是靜默地以非零狀態退出。

--short

當將 <name> 的值顯示為符號引用時,嘗試縮短該值,例如從 refs/heads/master 縮短為 master

--recurse
--no-recurse

當將 <name> 的值顯示為符號引用時,如果 <name> 指向另一個符號引用,則跟隨這樣的符號引用鏈,直到結果不再指向符號引用(--recurse,這是預設行為)。--no-recurse 在僅解引用一層符號引用後停止。

-m

使用 <reason> 更新 <name> 的引用日誌(reflog)。這僅在建立或更新符號引用時有效。

注意事項

過去,.git/HEAD 是一個指向 refs/heads/master 的符號連結。當我們想切換到另一個分支時,我們執行 ln -sf refs/heads/newbranch .git/HEAD;當我們想找出當前所在分支時,我們執行 readlink .git/HEAD。但是符號連結並非完全可移植,因此它們現在已被棄用,並預設使用符號引用(如上所述)。

如果符號引用的內容正確列印,git symbolic-ref 將以狀態 0 退出;如果請求的名稱不是符號引用,則以狀態 1 退出;如果發生其他錯誤,則以狀態 128 退出。

另請參閱

GIT

Git[1] 套件的一部分

scroll-to-top