# git-symbolic-ref
> 原文: [https://git-scm.com/docs/git-symbolic-ref](https://git-scm.com/docs/git-symbolic-ref)
## 名稱
git-symbolic-ref - 讀取,修改和刪除符號引用
## 概要
```
git symbolic-ref [-m <reason>] <name> <ref>
git symbolic-ref [-q] [--short] <name>
git symbolic-ref --delete [-q] <name>
```
## 描述
給定一個參數,讀取給定符號ref的哪個分支頭指向并輸出其相對于`.git/`目錄的路徑。通常,您會將`HEAD`作為< name>查看工作樹所在分支的參數。
給定兩個參數,創建或更新符號引用< name>指向給定分支< ref>。
給定`--delete`和另一個參數,刪除給定的符號引用。
符號引用是一個常規文件,用于存儲以`ref: refs/`開頭的字符串。例如,您的`.git/HEAD`是一個常規文件,其內容為`ref: refs/heads/master`。
## OPTIONS
```
-d
```
```
--delete
```
刪除符號ref< name>。
```
-q
```
```
--quiet
```
如果< name&gt ;,請不要發出錯誤消息不是一個象征性的參考,而是一個獨立的HEAD;而是以靜默方式退出非零狀態。
```
--short
```
顯示< name>的值時作為一個象征性的參考,試圖縮短價值,例如從`refs/heads/master`到`master`。
```
-m
```
更新< name>的reflog與< reason>。這僅在創建或更新符號引用時有效。
## 筆記
在過去,`.git/HEAD`是指向`refs/heads/master`的符號鏈接。當我們想切換到另一個分支時,我們做了`ln -sf refs/heads/newbranch .git/HEAD`,當我們想知道我們在哪個分支時,我們做了`readlink .git/HEAD`。但是符號鏈接不是完全可移植的,因此它們現在已被棄用,并且默認情況下使用符號引用(如上所述)。
如果符號引用的內容被正確打印,則 _git symbolic-ref_ 將以狀態0退出,如果請求的名稱不是符號引用,則狀態為1;如果發生另一個錯誤,則為128。
## GIT
部分 [git [1]](https://git-scm.com/docs/git) 套件
- git
- git-config
- git-help
- git-init
- git-clone
- git-add
- git-status
- git-diff
- git-commit
- git-reset
- git-rm
- git-mv
- git-branch
- git-checkout
- git-merge
- git-mergetool
- git-log
- git-stash
- git-tag
- git-worktree
- git-fetch
- git-pull
- git-push
- git-remote
- git-submodule
- git-show
- git-log
- git-shortlog
- git-describe
- git-apply
- git-cherry-pick
- git-rebase
- git-revert
- git-bisect
- git-blame
- git-grep
- gitattributes
- giteveryday
- gitglossary
- githooks
- gitignore
- gitmodules
- gitrevisions
- gittutorial
- gitworkflows
- git-am
- git-format-patch
- git-send-email
- git-request-pull
- git-svn
- git-fast-import
- git-clean
- git-gc
- git-fsck
- git-reflog
- git-filter-branch
- git-instaweb
- git-archive
- git-bundle
- git-daemon
- git-update-server-info
- git-cat-file
- git-check-ignore
- git-checkout-index
- git-commit-tree
- git-count-objects
- git-diff-index
- git-for-each-ref
- git-hash-object
- git-ls-files
- git-merge-base
- git-read-tree
- git-rev-list
- git-rev-parse
- git-show-ref
- git-symbolic-ref
- git-update-index
- git-update-ref
- git-verify-pack
- git-write-tree