有很多有用的git参考(确切的名字是什么?),例如HEAD,ORIG_HEAD,FETCH_HEAD,MERGE_HEAD,@{upstream}等。
这方面有什么参考资料吗?一份完整的列表和解释?
发布于 2013-07-11 22:35:48
HEAD:您正在查看的当前ref。在大多数情况下,它可能是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"字符串。它们散落在各处,但仍然很容易找到。
P.S.
git help revisions不会显示所有可能的命名引用的列表。
发布于 2013-07-21 04:09:15
这是official Linux Kernel Git documentation for Git revisions所说的:
HEAD命名工作树中的更改所基于的提交。
FETCH_HEAD记录了您上次调用git fetch时从远程存储库获取的分支。
ORIG_HEAD是由命令创建的,这些命令以一种激进的方式移动HEAD,以记录HEAD在其操作之前的位置,以便您可以轻松地将分支的尖端更改回运行它们之前的状态。
当您运行git merge时,MERGE_HEAD会记录您要合并到分支中的提交。
当您运行git cherry-pick时,CHERRY_PICK_HEAD会记录您正在选择的提交。
另外,对于@{upstream}
<refname>@{upstream},例如master@{upstream}、@{u}
ref的后缀@{upstream} (缩写为<refname>@{u})指的是将ref设置为在其上构建的分支。缺省的ref缺省为当前分支。
发布于 2013-07-11 22:38:29
这些引用称为指针。它们只是程序员术语中指向Git中存在的树状实体的常规指针。请注意,树状结构是至少由一个提交组成的任何东西,即分支、标记、存储或类似HEAD的东西。关于完整的列表,我认为唯一存在的是手册:
http://git-scm.com/documentation
虽然没有像HEAD这样的可用特殊指针的完整列表,但手册确实涵盖了其中可用指针的完整列表,尽管它们很难找到。
https://stackoverflow.com/questions/17595524
复制相似问题