文档章节

Git中的HEAD是什么?

 技术盛宴
发布于 2019/12/15 09:39
字数 701
阅读 10
收藏 0

您会看到Git文档说出类似

分支必须在HEAD中完全合并。

但是到底什么是Git HEAD


#1楼

了解正确答案的一种好方法是运行git reflog HEAD ,您可以获得HEAD所指向的所有位置的历史记录。


#2楼

看看http://git-scm.com/book/en/Git-Branching-What-a-Branch-Is

图3-5。 HEAD文件指向您所在的分支。


#3楼

我认为“ HEAD”是当前的检出提交。 换句话说,“ HEAD”指向当前已签出的提交。

如果您只是克隆但没有签出,我可能不知道它指向什么,可能是某个无效的位置。


#4楼

HEAD是指您的工作副本指向的当前提交,即您当前已签出的提交。 摘自有关指定Git修订版的Linux内核官方文档

HEAD命名工作树中所做更改的基础提交。

但是请注意,在即将发布的Git 1.8.4版本中, @也可以用作HEAD的简写,正如Git贡献者Junio C Hamano在其Git Blame博客中指出的那样

不用输入“ HEAD”,也可以说“ @”,例如“ git log @”。

Stack Overflow用户VonC还发现了一些有趣的信息,说明了为什么@被选为他对另一个问题的简写

同样令人感兴趣的是,在某些环境中,不必大写HEAD ,特别是在使用不区分大小写的文件系统的操作系统中,尤其是Windows和OSX。


#5楼

我想详细介绍Greg Hewgil接受的答案中的一些内容。 根据Git Pocket Guide

科:

分支本身定义为提交图中从命名提交(分支的“尖端”)到达的所有点。

HEAD:特殊类型的Ref

特殊的ref HEAD决定了您所在的分支...

参考

Git定义了两种引用或命名的指针,它们称为“引用”:

  • 一个简单的ref,直接指向对象ID(通常是提交或标记)
  • 一个符号引用(或symref),它指向另一个引用(简单或符号)

如Greg所述,HEAD可以处于“分离状态”。 因此,HEAD可以是简单的ref(对于分离的HEAD),也可以是symref。

如果HEAD是现有分支的符号引用,则您位于该分支上。 另一方面,如果HEAD是直接通过其SHA-1 ID命名提交的简单引用,则您不是“在”任何分支上,而是在“分离的HEAD”模式下,这种情况在您较早签出时会发生。致力于检查。

本文转载自:https://stackoom.com/question/9fOh/Git中的HEAD是什么

粉丝 0
博文 779
码字总数 0
作品 0
深圳
高级程序员
私信 提问
前端错题集|git pull 和git fetch的区别是什么?

Git是工作中常用的工具,现在关于Git命令的问题在面试中也越来越常见。相信大家对常用的命令都非常熟悉了,但是可能没有深究过细节。今天小编就帮大家分析一下git pull 和 git fetch的区别。...

魏永_Owen_Wei
2018/08/10
0
0
Git HEAD detached from XXX (git HEAD 游离) 解决办法

本文 Git 图片主要来自:图解 Git,非常感谢! 读完本文你将了解: 什么是 HEAD HEAD 游离状态的利与弊 具体解决操作 Thanks 什么是 HEAD Git 中的 HEAD 可以理解为一个指针,我们可以在命令...

u011240877
2017/07/28
0
0
git 撤销操作 git reset与git revert的使用

先简单说一下,在提交到远程库之前我们使用git reset 命令完全可以满足我们 撤销操作的需求,如果操作已经提交到远程库,那只好使用 git revert 来提交一个新的撤销操作 撤销 需要撤销的那次...

悟_空
2017/12/15
0
0
Git常用命令总结

git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone 获取一个url对应的远程Git repo, 创建一个local copy. 一般的...

钱天兵
2016/03/15
0
0
Git的学习之路02 Git的工作流程、工作区、暂存区、版本库及创建版本库

Git的一般工作流程如下: 克隆 Git 资源作为工作目录。 在克隆的资源上添加或修改文件。 如果其他人修改了,你可以更新资源。 在提交前查看修改。 提交修改。 在修改完成后,如果发现错误,可...

天王盖地虎626
2019/02/09
6
0

没有更多内容

加载失败,请刷新页面

加载更多

计算一个数的数位之和

计算一个数的数位之和 例如:128 :1+2+8 = 11 public int numSum(int num) { int sum = 0; do { sum += num % 10; } while ((num = num / 10) > 0); return sum;......

SongAlone
9分钟前
28
0
什么是专用字节,虚拟字节,工作集?

我试图使用perfmon Windows实用程序来调试进程中的内存泄漏。 这就是perfmon解释这些术语的方式: Working Set是此过程的工作集的当前大小(以字节为单位)。 工作集是过程中线程最近触及的一...

技术盛宴
43分钟前
52
0
创建重复N次的单个项目的列表

我想创建一系列长度不一的列表。 每个列表将包含相同的元件e ,重复n次(其中n列表=长度)。 如何创建列表,而不为每个列表使用列表[e for number in xrange(n)] ? #1楼 在Python中创建重复...

javail
59分钟前
64
0
为什么图片反复压缩后普遍会变绿,而不是其他颜色?

作者:Lion Yang 链接:https://www.zhihu.com/question/29355920/answer/119088684 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 业余版概要:安卓的...

shzwork
今天
47
0
每天AC系列(二):最接近的三数之和

1 题目 leetcode第16题,给定一个数组与一个目标数,找出数组中其中的三个数,这三个数的和要与目标数最接近。 2 暴力 按惯例先来一次O(n3)的暴力: int temp = nums[0]+nums[1]+nums[2];fo...

Blueeeeeee
今天
46
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部