设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
修补
调试
电子邮件
外部系统
服务器管理员
指南
管理
底层命令
- 2.43.1 → 2.47.0 无更改
- 2.43.0 11/20/23
- 2.39.1 → 2.42.3 无更改
- 2.39.0 12/12/22
- 2.1.4 → 2.38.5 无更改
- 2.0.5 12/17/14
概要
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/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 退出。
GIT
是 git[1] 套件的一部分