精华内容
下载资源
问答
  • Git HEAD detached from XXX (git HEAD 游离) 解决办法

    万次阅读 多人点赞 2017-07-28 20:13:44
    本文 Git 图片主要来自:图解 Git,...Git 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD 查看当前 HEAD 指向哪儿,一般它指向当前工作目录所在分支的最新提交。 当使用 git checkout 切换

    本文 Git 图片主要来自:图解 Git,非常感谢!

    读完本文你将了解:

    什么是 HEAD

    Git 中的 HEAD 可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD 查看当前 HEAD 指向哪儿,一般它指向当前工作目录所在分支的最新提交。

    这里写图片描述

    当使用 git checkout < branch_name> 切换分支时,HEAD 会移动到指定分支。

    这里写图片描述

    但是如果使用的是 git checkout < commit id>,即切换到指定的某一次提交,HEAD 就会处于 detached 状态(游离状态)。

    这里写图片描述

    HEAD 游离状态的利与弊

    HEAD 处于游离状态时,我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接 checkout 对应的 commit id 或者 tag 名即可。

    它的弊端就是:在这个基础上的提交会新开一个匿名分支!

    这里写图片描述

    也就是说我们的提交是无法可见保存的,一旦切到别的分支,游离状态以后的提交就不可追溯了。

    这里写图片描述

    解决办法就是新建一个分支保存游离状态后的提交:

    这里写图片描述

    具体解决操作

    1. git branch -v 查看当前领先多少
      • 这里写图片描述
      • 4449a91 指向的是 dev1 的最后一次提交
    2. 新建一个 temp 分支,把当前提交的代码放到整个分支
      • 这里写图片描述
    3. checkout 出要回到的那个分支,这里是 dev1
      • 这里写图片描述
    4. 然后 merge 刚才创建的临时分支,把那些代码拿回来
      • 这里写图片描述
    5. git status 查看下合并结果,有冲突就解决
      • 这里写图片描述
    6. 合并 OK 后就提交到远端
      • 这里写图片描述
    7. 删除刚才创建的临时分支

      • 这里写图片描述
    8. 查看 Log,当前 HEAD 指向本地 dev1 ,和远端 dev1 一致,OK 了!

      • 这里写图片描述

    Thanks

    https://marklodato.github.io/visual-git-guide/index-zh-cn.html#detached
    https://git-scm.com/docs/git-checkout#_detached_head


    欢迎扫描关注我的微信公众号,不定时更新我的成长及思考文章~

    这里写图片描述

    展开全文
  • 终于重新回到了git开始的地方,探究下本地git代码仓库中.git目录。 本篇对标题中的几个概念进行简单说明。...说明HEAD其实就是指向master分支,而master中存放的就是最新的commit(40位的sha-1...

    终于重新回到了git开始的地方,探究下本地git代码仓库中.git目录。

    本篇对标题中的几个概念进行简单说明。

    1 HEAD

    HEAD可以指向分支,也可以指向提交。

    这里先说指向分支的情况。

    下图为HEAD指向本地master分支。

    查看.git目录下的HEAD

    说明HEAD其实就是指向master分支,而master中存放的就是最新的commit(40位的sha-1值)。

    2 ORIG_HEAD

    在上图的.git目录可以看到还有一个ORIG_HEAD文件

    查看内容,其实存放的也是commit。当进行一些有风险的操作的时候,如reset、merge或者rebase,Git会将HEAD原来所指向commit对象的sha-1值存放于ORIG_HEAD文件中。这里不做深入测试分析。

    3 FETCH_HEAD

    在上图的.git目录可以看到还有一个FETCH_HEAD文件

    FETCH_HEAD表示某个branch在服务器上的最新状态。
    每一个执行过fetch操作的项目都会存在一个FETCH_HEAD列表,其中每一行对应于远程服务器的一个分支。
    当前分支指向的FETCH_HEAD, 就是这个文件第一行对应的那个分支。存在两种情况:如果没有显式的指定远程分支, 则远程分支的master将作为默认的FETCH_HEAD;如果指定了远程分支, 就将这个远程分支作为FETCH_HEAD.

    4 detached HEAD

    当执行 git checkout commit的时候,也就是指向提交,会变成detached HEAD的状态。

    此时查看分支的话,大概显示如下:

    此时如果不留心,继续进行修改提交,可能会被git回收,从而丢失代码。最好的做法是新建一个分支,再进行代码相关操作。例如,我进行如下操作:

    我切换到commit d53a,注意git的提示文字,git checkout -b new-branch-name,就能在d53acommit上新建一个分支,例如我新建了temp1分支。

     

    展开全文
  • HEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEAD标志

    千次阅读 2017-08-31 17:59:21
    HEAD标志

    HEAD: The current ref that you’re looking at. In most cases it’s probably refs/heads/master
    当前目录下最近的一次commit

    FETCH_HEAD: The SHAs of branch/remote heads that were updated during the last git fetch
    从远端或分支fetch过来的标志

    ORIG_HEAD: When doing a merge, this is the SHA of the branch you’re merging into.
    做合并时合并后的分支

    MERGE_HEAD: When doing a merge, this is the SHA of the branch you’re merging from.
    合并时合并前的分支

    CHERRY_PICK_HEAD: When doing a cherry-pick, this is the SHA of the commit which you are cherry-picking.

    展开全文
  • 分离 HEAD

    千次阅读 2018-01-14 18:14:12
    分离 HEAD HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。 HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。 ...

    分离 HEAD

    HEAD 是一个对当前检出记录的符号引用 —— 也就是指向你正在其基础上进行工作的提交记录。

    HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。

    HEAD 通常情况下是指向分支名的(如 bugFix)。在你提交时,改变了 bugFix 的状态,这一变化通过 HEAD 变得可见。

    下面请看演示:

    headhead

    $ git checkout C1;

    $ git checkout master

    $ git commit

    $ git checkout C2

     

    HEAD 指向了 master,随着提交向前移动。

    (注:实际这些命令并不是真的在查看HEAD 指向。如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-refHEAD 查看它的指向。但是该程序不支持这两个命令)

    展开全文
  • git 理解 HEAD^与HEAD~

    万次阅读 2017-12-20 22:32:34
    HEAD^主要是控制merge之后回退的方向 HEAD~才是回退的步数1.建立如图所示分支 2.将HEAD指针向后移动一位到原分支git checkout HEAD^ 3.将HEAD指针向后移动一位到merge分支git checkout HEAD^2 4.将HEAD...
  • linux命令head

    万次阅读 2020-10-15 21:52:35
    linux命令head用于从头部查看文件 head 文件名 显示文件头几行(默认显示10行) head -n 20 文件名 显示文件前20行 head -n -20 文件名 显示文件最后20行
  • HEAD detached at head的处理

    万次阅读 2017-05-06 22:25:37
    其实我们知道,git checkout本质上是修改HEAD里面的内容来让它指向不同分支的,而HEAD文件指向的分支就是我们当前的分支,但是有时候HEAD不会指向任何分支,严谨的说是HEAD指向了一个没有分支名字的修订版本,此时恭喜你,...
  • Head First Excel

    千次下载 2014-08-28 16:29:31
    Head First Excel 英文版, 0分分享
  • git 中 HEAD 概念

    万次阅读 2018-04-03 20:01:31
    本文讲述的 是 git 命令中的 HEAD ,适用于 github ,不适用于 gerrit git-recipes 这个链接是一个比较好的git教程 本文不对git进行介绍,只是收集一些和 HEAD 相关的链接 实例 $ git branch -a dev ...
  • Swagger2 添加HTTP head参数

    万次阅读 多人点赞 2017-05-09 15:19:51
    大家使用swagger往往会和JWT一起使用,而一般使用jwt会将token放在head里,这样我们在使用swagger测试的时候并不方便,因为跨域问题它默认不能自定义head参数。然后自己去网上找,发现国内大多数的都是写一个Filter...
  • Head First软件开发

    千次下载 热门讨论 2015-03-21 11:49:33
    Head First 软件开发 中文扫描版
  • head first python 中文书签版 head first python 中文书签版 head first python 中文书签版 head first python 中文书签版 head first python 中文书签版
  • git在回退版本时HEAD~和HEAD^的作用和区别

    千次阅读 多人点赞 2020-05-31 15:18:26
    我们在使用 Git 回退到版本的时候,可能见过这种写法 `git reset --hard HEAD~`,有时候也会遇到这种写法 `git reset --hard HEAD^`,这两个语句都是将代码库还原到上一个版本,但是只差了一个符号,他们究竟有什么...
  • 头指针head

    千次阅读 2019-06-05 11:54:09
    在使用头指针head时,通常先定义head=NULL,目的是在初始化时使head有一个明确定义,head不为野指针。 例: int * head=NUll,* L; L=(LNode * )malloc(sizeof(Lnode)); head=L; 二、head->next=null 把Head...
  • Head First Java 中文高清版Head First Java 中文高清版Head First Java 中文高清版
  • git reset HEAD 是将咱暂存区和HEAD的提交保持一致 git reset --hard HEAD 是将工作区、暂存取和HEAD保持一致 测试 git reset HEAD 创建一个readme.md 的文件 创建一个commit 执行以下命令 git add ...
  • 查看git HEAD

    千次阅读 2019-10-07 17:54:58
    如果想看 HEAD 指向,可以通过cat .git/HEAD查看, 如果 HEAD 指向的是一个引用,还可以用git symbolic-ref HEAD查看它的指向。 转载于:https://www.cnblogs.com/huanghuanghui/p/11397903.html...
  • HeadFirst 设计模式

    热门讨论 2011-06-26 17:34:36
    HeadFirst 设计模式 HeadFirst 设计模式 HeadFirst 设计模式 HeadFirst 设计模式 HeadFirst 设计模式 中文版
  • Pandas中head( )函数

    万次阅读 多人点赞 2019-04-04 19:23:40
    在用Pandas读取数据之后,我们往往想要观察一下数据读取是否准确,这就要用到Pandas里面的head( )函数,但是一直有疑问,为什么用head( )函数只能读取前五行数据。接下来给大家分析一下head( )函数原型: 1、应用...
  • Git命令中HEAD^和HEAD~区别

    千次阅读 2018-09-10 18:23:01
    说明 本篇文章是对Pro Git 7.1 Git 工具 - 选择修订版本 章节中 祖先引用 的总结。 git命令中HEAD^和HEAD~区别。 HEAD^+数字表示当前提交的父提交。...HEAD~(等同于HEAD^,注意没有加数字)表...
  • linux head 命令

    万次阅读 2018-05-13 12:42:54
    head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 1.命令格式:head [参数]... [文件].....
  • remotes/origin/HEAD -> origin/master 在一次提交git的途中,出现了一下问题 1.git push origin master后出现 Everything up-to-date 当时以为问题自己点错了,又重新提交了一次,在 git commit之后出现HEAD ...
  • head插件安装

    千次阅读 2019-04-13 14:48:35
    上一节我们已经安装好了Elasticsearch,接下来我们来安装head插件,由于elasticsearch-head插件是由nodejs语言编写,所以安装elasticsearch-head前需要先安装nodejs和grunt。 首先,执行以下命令安装nodejs和grunt ...
  • 【elasticsearch系列】安装elasticsearch-head插件

    千次阅读 多人点赞 2021-09-05 13:35:28
    目录环境安装node安装gruntelasticsearch-head运行修改elasticsearch.yml排查问题 环境 安装elasticsearch-head插件,需要依赖nodeJs环境,故首先我们先搭建nodeJs环境; 此part先将此篇文章需要的各个官网列出来: ...
  • git reset --hard HEAD

    万次阅读 2019-04-09 20:23:37
    git reset --hard HEAD 表示回退到当前版本,HEAD指向当前版本。如果你修改了一些代码,想去除,就可以用git reset --hard HEAD一次性去除。 git reset --hard HEAD^ 表示回退到上一个版本 lj@lj-virtual-...
  • Git之HEAD和origin

    千次阅读 2020-03-23 23:25:55
    git 中的分支,本质上仅仅是个指向 commit 对象的可变指针,HEAD 是一个特别指针,它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名,git 就是这样知道你当前在哪个分支上工作。...
  • head first JavaScript源代码

    热门讨论 2013-05-07 11:00:24
    head first JavaScript源代码
  • html head标签详解

    千次阅读 2019-04-29 11:31:29
    head>…</head>封闭标签,在里面通常会包含5类标签:title、link、script、meta、style。这5类标签看着都挺熟悉的哈,那么在web前端技术中具体要怎么使用,规则是什么,在我学习的时侯,我做了笔记整理,...
  • head first java 中文版全部

    热门讨论 2012-03-07 13:48:13
    head first java 中文版 全部章节都有,很难得 《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括...
  • Head First Servlets and JSP PDF

    千次下载 热门讨论 2014-03-26 11:21:14
    Head First Servlets and JSP PDF

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,563,388
精华内容 1,025,355
关键字:

head