==============

知识点

  • 分离头指针
  • HEAD 含义
  • git diff

分离头指针 (Detached HEAD)

有时候想尝试性修改某些内容(实验),也许并不会真的提交到分支,这时候可以使用分离头指针,修改的内容不会进入任何分支。

当修改内容的头指针没有与任何branch挂钩时,如果这时将头指针指向了某个分支(master),刚刚做的修改会被git当作垃圾废弃。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$ max @ Maxs-MBP-2016 in ~/Develop/learnhtml on git:master o
$ git checkout 5009f3a5f4
Note: checking out '5009f3a5f4'. You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example: git checkout -b <new-branch-name>
大专栏  Learn Git Lesson06 - 分离头指针
HEAD is now at 5009f3a Add index.html

修改README 文件(添加一行即可)

1
2
3
4
5
6
$ max @ Maxs-MBP-2016 in ~/Develop/learnhtml on git:5009f3a o 
$ ls
README.md index.html $ max @ Maxs-MBP-2016 in ~/Develop/learnhtml on git:5009f3a o
$ vim README.md

如果这时再将HEAD指向master,刚才做的修改会被废弃(可以进入gitk –all 查看)

1
2
$ max @ Maxs-MBP-2016 in ~/Develop/learnhtml on git:5009f3a x
$ git checkout master

HEAD

HEAD归根到底其实还是指向了一个commit,并且可以指代那个commit

git diff

git diff 用来比较两次commit的不同
可以使用HEAD指代当前分支最后一次commit或者
HEAD~1 , HEAD~2 分别表示倒数一次,倒数二次

1
2
3
4
$ max @ Maxs-MBP-2016 in ~/Develop/learnhtml on git:master x 
$ Git diff a8a599a4dd07 0434ef25597
$ Git diff HEAD HEAD~1
$ Git diff HEAD HEAD~2

Learn Git Lesson06 - 分离头指针的更多相关文章

  1. Git分离头指针

    Git头指针 Git中有HEAD头指针的概念.HEAD头指针通常指向某个分支的最近一次提交,但我们也可以改变它的指向,使其指向某个commit,此时处于分离头指针的状态. 如下,改变HEAD的指向,g ...

  2. git 那些事儿 —— 基于 Learn Git Branching

    前言 推荐一个 git 图形化教学网站:Learn Git Branching,这个网站有一个沙盒可以直接在上面模拟 git 的各种操作,操作效果使用图形的方式展示,非常直观.本文可以看作是它的文字版 ...

  3. 【原创】Git 分支的合并【Learn Git Branching】

    merge       git merge是我们要学习的合并工作的第一个方法.合并产生一个特殊的提交记录,它包含两个唯一父提交.有两个父提交的提交记录本质上是:“我想把这两个父提交本身及它们的父提交集 ...

  4. 理解git 中的HEAD指针&branch指针

    理解git 中的HEAD指针&branch指针 Yooye关注 2019.02.28 10:44:32字数 492阅读 668 HEAD指针 使用git checkout 来移动HEAD指针, ...

  5. 剑指offer56:删除链表中重复的结点,排序的链表中,删除重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5

    1 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 例如,链表1->2->3->3->4->4->5 处 ...

  6. (数据科学学习手札141)利用Learn Git Branching轻松学习git常用操作

    1 简介 大家好我是费老师,Git作为世界上最流行的版本控制系统,可以说是每一位与程序打交道的朋友最值得学习的软件之一.除了管理自己的项目,如果你对参与开源项目感兴趣,那么Git更是联结Github. ...

  7. Learn GIT

    1.创建版本库: git init 设置用户: git config --global user.email "you@example.com" 2.添加到仓库(将修改的内容提交到 ...

  8. learn git(远程仓库github)

    |由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置: 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa ...

  9. learn git(本地仓库)

    #本地 在Windows上安装Git 在Windows上使用Git,可以从Git官网直接https://git-scm.com/downloads下载,然后按默认选项安装即可. 装完成后,在开始菜单里 ...

随机推荐

  1. ABP 切换mysql 数据库报错mysqlexception: incorrect string value: ‘\xe7\xae\x80\xe4\xbd\x93…’ for column display name

    刚折腾了ABP框架,为了跨平台,将SQL Server数据库换成了MySQL数据库,ABP框架上支持多语言,中间被字符集折腾的够呛,翻了N个博客,最后终于在StackOverFlow 上找到了最终的解 ...

  2. jQuery 1.3.2 简单实现select二级联动

    jQuery 1.3.2 简单实现select二级联动  复制代码代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transiti ...

  3. idea创建远程分支

    1.先从远程拉取一个完整的分支,master或dev 2.新建一个分支,new,新建的同时checkout 出来 3.把新建的分支push到远程 4.如果新建完分支后写代码了,需要先把代码提交然后一起 ...

  4. tomcat添加ssl证书

    Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一. 文件说明: 1. 证书文件xxx.pem,包含两段内容,请不要删除任何一段内容. 2. 如果是证书系统 ...

  5. Java学习笔记--精品札记

    forech循环增强版(JDK1.7新特性) for(数组单位元素类型 i:遍历目标数组){ 代码块 } char(只能放单个字符)数组可以直接遍历不需要循环,其他数组不可以,必须遍历 toStrin ...

  6. ubuntu虚拟机的日常使用

    一.下载地址 1.ubuntu 16.04 镜像下载 二.上网 1.IP地址设置 1)参考网址1:ubuntu修改IP地址和网关的方法 2)参考网址2:ubuntu如何修改IP地址.和apt源 2)参 ...

  7. Docker部署freeswitch

    1. clone配置文件到本地服务器 git clone https://github.com/BetterVoice/freeswitch-container.git 相关Dockerfile如下: ...

  8. 基于ssh开发彩票购买系统的设计与实现毕业设计

    开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MYSQL数据库 运行效果图: 源码及原文地址:http://javadao.xyz/forum.php?mod ...

  9. [Algo] 117. Array Deduplication III

    Given a sorted integer array, remove duplicate elements. For each group of elements with the same va ...

  10. 决策树分类回归,ID3,c4.5,CART,及其Python代码

    决策树模型 内部节点表示一个特征或者属性,叶子结点表示一个类.决策树工作时,从根节点开始,对实例的每个特征进行测试,根据测试结果,将实例分配到其子节点中,这时的每一个子节点对应着特征的一个取值,如此递 ...