Git: 显示 HEAD 分离的远程分支名称
Git: show remote branch name from which HEAD is detached
我想知道是否有一种方法可以输出 仅 远程 git 分支的名称,当 HEAD 在检出后分离时。
现在我正在按照 How to get the current branch name in Git? 中的步骤进行操作,但这仅在您处于非分离 HEAD 中时才有效。在分离的 HEAD 中,像 git rev-parse --abbrev-ref HEAD
这样的命令将简单地输出“HEAD”。
最接近显示分支名称的是 运行 git branch
,它将当前分支显示为 * (HEAD detached at {remote-name}/{branch-name})
。
这对于实用目的来说非常好,但我的好奇心越来越强,我想知道是否有一个命令可以简单地输出 only原始分支,而不是它前面的上下文。
我还想更好地理解 为什么 在我执行这些步骤时 HEAD 正在分离。
工作流程
当我出于 PR 审查的目的检查远程分支时,会出现这种情况。以下是我 运行 到达此场景的命令:
> git remote add {name for this remote} {git url}
> git fetch {name for this remote}
> git checkout remotes/{remote-name}/{branch name}
> git branch
git log -1 --pretty=%D
将打印 HEAD -> yourbranch
如果 HEAD
的别名即附加到该分支提示,因此 git commit
对 HEAD
的更新将被重定向到那里,只是 HEAD, yourbranch
如果 HEAD
和 yourbranch
都恰好是同一个提交的引用,但是 HEAD
不是任何东西的别名,更新 HEAD
ref 只是更新 HEAD
ref.
我想知道是否有一种方法可以输出 仅 远程 git 分支的名称,当 HEAD 在检出后分离时。
现在我正在按照 How to get the current branch name in Git? 中的步骤进行操作,但这仅在您处于非分离 HEAD 中时才有效。在分离的 HEAD 中,像 git rev-parse --abbrev-ref HEAD
这样的命令将简单地输出“HEAD”。
最接近显示分支名称的是 运行 git branch
,它将当前分支显示为 * (HEAD detached at {remote-name}/{branch-name})
。
这对于实用目的来说非常好,但我的好奇心越来越强,我想知道是否有一个命令可以简单地输出 only原始分支,而不是它前面的上下文。
我还想更好地理解 为什么 在我执行这些步骤时 HEAD 正在分离。
工作流程
当我出于 PR 审查的目的检查远程分支时,会出现这种情况。以下是我 运行 到达此场景的命令:
> git remote add {name for this remote} {git url}
> git fetch {name for this remote}
> git checkout remotes/{remote-name}/{branch name}
> git branch
git log -1 --pretty=%D
将打印 HEAD -> yourbranch
如果 HEAD
的别名即附加到该分支提示,因此 git commit
对 HEAD
的更新将被重定向到那里,只是 HEAD, yourbranch
如果 HEAD
和 yourbranch
都恰好是同一个提交的引用,但是 HEAD
不是任何东西的别名,更新 HEAD
ref 只是更新 HEAD
ref.