English ▾ 主题 ▾ 最新版本 ▾ 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> 不是符号引用而是分离的 HEAD,则不发出错误消息; 而是以非零状态静默退出。

--short

当显示 <name> 作为符号引用的值时,尝试缩短该值,例如从 refs/heads/mastermaster

--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