在使用git的时候不免遇到commit的时候commit了错误的代码的时候,这时候就需要用到git的常用命令之一  reset了.

reset顾名思义为重置.重置的是HEAD指针,可以使HEAD指针移动到任意commit上.

使用git log [--oneline] 命令查看之前所有的commit id.然后使用git reset命令使HEAD指针指向其中的一个id.

git reset 有三个可选参数 --hard  --mixed  --soft  

其中--hard参数表示不但重置HEAD指针而且还会重置当前的暂存区和工作区,这个参数比较危险,会使当前工作区的内容丢失,并且是不可找回的丢失.

--mixed参数为默认参数.该参数会重置HEAD指针并且重置暂存区.但是对工作区却没有什么影响.

--soft参数表示只充值HEAD指针.不改变暂存区和工作区.

若重置了之后又后悔了,那么可以使用git reflog 命令查看最近的HEAD指针的变化.然后根据这里面的commit id 来确定git reset 的id.这样就不怕弄错了

git reset 后面不但可以接commit id 而且可以直接跟文件名称.

若reset后面跟的是文件名称那么将不会重置HEAD指针,而是重置这个文件.重置效果和commit id 一样.

每天一命令 git reset的更多相关文章

  1. 【Git 学习三】深入理解git reset 命令

    重置命令(git reset)是Git 最常用的命令之一,也是最危险最容易误用的命令.来看看git reset命令用法. --------------------------------------- ...

  2. git 学习笔记 —— 切换和恢复提交版本( git reset/reflog/tag 命令)

    记录一下关于 git 不同提交版本间切换的操作以及如何恢复至切换之前的版本. 切换到之前提交的版本 —— git reset --hard 笔者在使用 git 时,首先接触到了一个"黑魔法& ...

  3. [译]git reset

    git reset 如果说git revert是一个安全的撤销方式, 那么git reset就是一个非常危险的方法了. 当你使用git reset撤销的时候, 你没有可能在回到最初了-他是一个永久的不 ...

  4. git reset 版本回退操作

    1 git回退命令 git reset --hard GIT_HEAD   GIT_HEAD是你具体要回退的分支: 如图:   注:  查询GIT_HEAD可以通过两个命令:git log 获取未删除 ...

  5. git reset --hard 操作后的数据恢复

    在进行正文之前先简单介绍下git reset 命令 git reset git reset 命令用于改变当前的仓库状态,简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在 ...

  6. git分布式版本控制系统权威指南学习笔记(六):git reset、get stash、git checkout总结

    文章目录 1. 概述 2. 如何把修改暂存起来,留着以后使用? 2.1 使用场景 2.2 git stash 暂存进度 2.3 查看进度 2.4 恢复进度 3. 如何撤销工作区的修改? 4. 如何把暂 ...

  7. git学习(六) git reset操作

    git reset 操作 git reset git reset HEAD 文件名 移除不必要的添加到暂存区的文件 git reset HEAD^ 或者 commitid 去掉上一次的提交 git r ...

  8. git reset HEAD 与 git reset --hard HEAD的区别

    感谢原文作者:天地逍遥 原文链接:https://www.jianshu.com/p/aeb50b94e6c0 git reset HEAD 是将咱暂存区和HEAD的提交保持一致 git reset ...

  9. github总结(4)--关于git reset --hard这个命令的惨痛教训

    背景叙述: 前几天,上传自己的个站到git上的时候,手欠脑发晕的用了次git reset --hard xxxxxx 命令.由于只在线上传入了一个index.html页面(自己都不知道自己咋想的,就这 ...

随机推荐

  1. angularjs decorator

    angularjs decorator https://docs.angularjs.org/guide/decorators decorator() $provide服务提供了在服务实例创建时对其进 ...

  2. Mybatis的缺陷

    Mybatis是业界非常流行的持久层框架,轻量级.易用,在金融IT领域完全是领军地位,比Hibernate更受欢迎,优势非常多,也是非常值得我们学习的.但Mybatis并不尽善尽美,其自身的设计.编码 ...

  3. Web应用安全之文件上传漏洞详解

    什么是文件上传漏洞 文件上传漏洞是在用户上传了一个可执行的脚本文件,本通过此脚本文件获得了执行服务器端命令的功能,这种攻击方式是最为直接,最为有效的,有时候,几乎没有什么门槛,也就是任何人都可以进行这 ...

  4. CSS3选择器的研究,案例

    在上一篇CSS3选择器的研究中列出了几乎所有的CSS3选择器,和伪类选择器,当是并没有做案例的研究,本想在那篇文章里面写,但想想如果把案例都写在那篇文章里面,对于查找来说就不是很方便,所有另开一篇来讲 ...

  5. HTML内联元素

    前面的话 用于标记段落里的文本和其他内容组的元素种类很多,本文将这些文本级元素进行简单分类,便于整理和记忆 通用容器 <span>元素是短语内容的通用行内容器,并没有任何特殊语义.可以使用 ...

  6. Cocos2d-x 3.2 学习笔记(十五)保卫萝卜 场景与数据

         保卫萝卜~场景的思路以及数据的存储.      学习要写笔记,记录自己的步骤. 一.场景构建Tiled      关于Tiled网上有一大堆的教程,这个比较好用,特别是构建塔防类的游戏极其简 ...

  7. 推荐20款基于 jQuery & CSS 的文本效果插件

    jQuery 和 CSS 可以说是设计和开发行业的一次革命.这一切如此简单,快捷的一站式服务.jQuery 允许你在你的网页中添加一些真正令人惊叹的东西而不用付出很大的努力,要感谢那些优秀的 jQue ...

  8. 【Android】YUV使用总结 —— Android常用的几种格式:NV21/NV12/YV12/YUV420P的区别

    工作问题接触到图像这一块,需要对手机摄像头采集的原始帧做Rotate或者scale,但无奈对此的了解少之又少,于是网上搜了一顿,完事后将最近所学总结一下,以方便之后的人别踩太多坑.       首先想 ...

  9. jQuery 图像裁剪插件Jcrop

    ,    // 设置框的最大宽度          setSelect: [ 175, 100, 400, 300 ]        });                $('#text-input ...

  10. Python语言特性之4:类变量和实例变量

    类变量就是供类使用的变量,实例变量就是供实例使用的.如下面的代码: class Person: name = "Tacey" p1 = Person() p2 = Person() ...