設定和配置
獲取和建立專案
基本快照
分支與合併
共享和更新專案
檢查和比較
打補丁
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.48.1 → 2.50.1 無更改
-
2.48.0
2025-01-10
- 2.43.1 → 2.47.3 無更改
-
2.43.0
2023-11-20
- 2.39.1 → 2.42.4 無更改
-
2.39.0
2022-12-12
- 2.1.4 → 2.38.5 無更改
-
2.0.5
2014-12-17
概要
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 退出。