HEAD,FETCH
有很多有用的git引用(这是什么名字?),例如HEAD
, ORIG_HEAD
, FETCH_HEAD
, MERGE_HEAD
,@ {upstream}等等。
有没有这方面的参考? 有解释的完整列表?
git help revisions
带来了http://git-scm.com/docs/gitrevisions,它描述了引用提交的所有最常用的方法:
HEAD
命名您在工作树中基于更改的提交。 FETCH_HEAD
记录你从最后的git fetch调用中从远程存储库中获取的分支。 ORIG_HEAD
是通过命令创建的,这些命令以激烈的方式移动HEAD
在操作之前记录HEAD
的位置,以便在运行之前轻松地将分支顶端改回到状态。 MERGE_HEAD
记录你正在合并到你的分支中的提交。 CHERRY_PICK_HEAD
记录您在运行git cherry-pick时樱桃采摘的提交。 从git源代码中,您还可以了解有关BISECT_HEAD
, REVERT_HEAD
, REJECT_NON_FF_HEAD
和几乎肯定不需要的其他几个其他信息。
该参考还解释了后缀( ^N
, ~N
, @{...}
),范围( ..
vs ...
)等。
HEAD
:您正在查看的当前裁判。 在大多数情况下,它可能是refs/heads/master
FETCH_HEAD
:在上次git fetch
期间更新的分支/远程头的SHA
ORIG_HEAD
:在进行合并时,这是你合并到的分支的SHA。
MERGE_HEAD
:进行合并时,这是您正在合并的分支的SHA。
CHERRY_PICK_HEAD
:做樱桃选择时,这是你挑选樱桃的提交的SHA。
这些参考文献的完整列表可以通过克隆git来源找到:
git clone https://github.com/git/git.git
并在.c
文件中_HEAD"
字符串,它们遍布整个地方,但仍然可以轻松找到。
PS
git help revisions
不显示所有可能的命名参考文献的列表。
这就是Git修订版的官方Linux Kernel Git文档所说的:
HEAD
命名您在工作树中基于更改的提交。
FETCH_HEAD
记录你从最后的git fetch调用中从远程存储库中获取的分支。
ORIG_HEAD
是通过命令创建的,这些命令以激烈的方式移动HEAD
在操作之前记录HEAD
的位置,以便在运行之前轻松地将分支顶端改回到状态。
当你运行git merge时, MERGE_HEAD
记录你正在合并到你的分支中的提交。
CHERRY_PICK_HEAD
记录您在运行git cherry-pick时樱桃采摘的提交。
另外,对于@{upstream}
:
<refname>@{upstream}
,例如master@{upstream}
, @{u}
ref(简写<refname>@{u}
)的后缀@{upstream}
指的是ref设置为在其之上构建的分支。 缺少的参考默认为当前分支。
上一篇: HEAD, FETCH
下一篇: How to check real git diff before merging from remote branch?