Git
简体中文 ▾ Topics ▾ Latest version ▾ git-symbolic-ref last updated in 2.43.0

名称

git-symbolic-ref - 读取、修改和删除符号引用

概述

git symbolic-ref [-m <原因>] <名称> <引用>
git symbolic-ref [-q] [--short] [--no-recurse] <名称>
git symbolic-ref --delete [-q] <名称>

描述

给定一个参数,读取给定符号引用指向的分支头,并输出其相对于 .git/ 目录的路径。 通常情况下,你会将 HEAD 作为 <名称> 参数,以查看工作区所在的分支。

在给定两个参数的情况下,创建或更新符号引用 <名称> 以指向给定的分支 <引用>。

给定 --delete 和一个附加参数,删除给定的符号引用。

符号引用是一个存储以 ref: refs/ 开头的字符串的常规文件。 例如,你的 .git/HEAD 就是一个内容为 ref: refs/heads/master 的常规文件。

选项

-d
--delete

删除符号引用 <名称>。

-q
--quiet

如果 <名称> 不是符号引用,而是分离的 HEAD,则不会发出错误信息;而是以非零状态静默退出。

--short

将 <名称> 的值作为符号引用显示时,请尽量缩短该值,例如将 refs/heads/master 改为 master

--recurse
--no-recurse

在以符号引用形式显示 <名称> 的值时,如果 <名称> 指向了另一个符号引用,则跟踪该符号引用链,直到结果不再指向一个符号引用为止( --recurse ,这是默认设置)。 而 --no-recurse 只在取消引用单级符号引用后停止。

-m

用 <原因> 更新 <名称> 的 引用日志。 这仅在创建或更新符号引用时有效。

注释

过去,".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