git symbolic-ref

优质
小牛编辑
125浏览
2023-12-01

命名

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>参数的形式提供您的工作树所在的分支。

给定两个参数,创建或更新符号ref <name>以指向给定分支<ref>。

给定--delete和额外的参数,删除给定的符号参考。

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

选项

-d --delete

删除符号ref <名称>。

-q --quiet

如果<name>不是符号引用,而是分离的HEAD,则不要发出错误消息; 而是静静地退出非零状态。

--short

当示出了作为一个符号REF <名称>的值,尽量缩短值,例如从refs/heads/mastermaster

-m

使用<reason>更新<名称>的reflog。这仅在创建或更新符号引用时有效。

注意

过去,这.git/HEAD是一个象征性的链接refs/heads/master。当我们想切换到另一个分支时,我们做了ln -sf refs/heads/newbranch .git/HEAD,当我们想知道我们在哪个分支时,我们做到了readlink .git/HEAD。但符号链接不是完全可移植的,因此它们现在已被弃用,并且默认情况下使用符号引用(如上所述)。

如果符号ref的内容打印正确,git symbolic-ref将以状态0退出,如果请求的名称不是符号参考,则为状态1;如果发生另一错误,则为128。