git-symbolic-ref

原文: https://git-scm.com/docs/git-symbolic-ref

名称

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

概要

  1. git symbolic-ref [-m <reason>] <name> <ref>
  2. git symbolic-ref [-q] [--short] <name>
  3. git symbolic-ref --delete [-q] <name>

描述

给定一个参数,读取给定符号ref的哪个分支头指向并输出其相对于.git/目录的路径。通常,您会将HEAD作为< name>查看工作树所在分支的参数。

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

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

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

OPTIONS

  1. -d
  1. --delete

删除符号ref< name>。

  1. -q
  1. --quiet

如果< name&gt ;,请不要发出错误消息不是一个象征性的参考,而是一个独立的HEAD;而是以静默方式退出非零状态。

  1. --short

显示< name>的值时作为一个象征性的参考,试图缩短价值,例如从refs/heads/mastermaster

  1. -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] 套件