首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORIG_HEAD、FETCH_HEAD、MERGE_HEAD等

ORIG_HEAD、FETCH_HEAD、MERGE_HEAD等
EN

Stack Overflow用户
提问于 2013-07-11 22:03:53
回答 3查看 24.9K关注 0票数 52

有很多有用的git参考(确切的名字是什么?),例如HEADORIG_HEADFETCH_HEADMERGE_HEAD,@{upstream}等。

这方面有什么参考资料吗?一份完整的列表和解释?

EN

回答 3

Stack Overflow用户

发布于 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不会显示所有可能的命名引用的列表。

票数 22
EN

Stack Overflow用户

发布于 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缺省为当前分支。

票数 6
EN

Stack Overflow用户

发布于 2013-07-11 22:38:29

这些引用称为指针。它们只是程序员术语中指向Git中存在的树状实体的常规指针。请注意,树状结构是至少由一个提交组成的任何东西,即分支、标记、存储或类似HEAD的东西。关于完整的列表,我认为唯一存在的是手册:

http://git-scm.com/documentation

虽然没有像HEAD这样的可用特殊指针的完整列表,但手册确实涵盖了其中可用指针的完整列表,尽管它们很难找到。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17595524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档