zoukankan      html  css  js  c++  java
  • 【转】git reset HEAD 与 git reset --hard HEAD的区别

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

    git reset HEAD 是将咱暂存区和HEAD的提交保持一致

    git reset --hard HEAD 是将工作区、暂存取和HEAD保持一致

    测试 git reset HEAD

    1. 创建一个readme.md 的文件

     

    2 创建一个commit 执行以下命令

    git add -A

    git commit -m "create readme.md test file"

    查看提交

    git log --all --graph --oneline

     

    3 添加暂存取的文本

     

    执行命令,保持到暂存取

    git add -A

    执行命令,比较暂存取和HEAD的区别

    git diff --cached

     

    4 添加工作区的的内容

     

    执行命令,比较工作区和暂存取的不同

    git diff 

     

    5 执行命令

    git reset HEAD

     

    比较工作区和暂存区的内容

    执行命令

    git diif

     

    比较暂存取和HEAD的内容

    执行命令 

    git diff --cached

     

    发现暂区和HEAD没有区别

    说明 git reset HEAD 会把暂存区恢复成HEAD

    执行命令

    git add -A

    添加到暂存区

    执行

    git diff --cached

     

    发现暂存区添加了两行内容

    7

    工作区添加一行文字

     

    执行

    git reset --hard HEAD

     

    执行

    git diff

    git diff --cached

    发现工作区、暂存区和HEAD没有区别

     

    说明执行 git reset --hard HEAD 命令 会将工作区和暂存区恢复成HEAD

  • 相关阅读:
    JS的type类型为 text/template
    Vue之x-template(2)
    Vue之x-template(1)
    vue之$mount
    console.log()与console.dir()
    Less用法注意事项
    一次 Linux 系统被攻击的分析过程
    WebAR 如何改变增强现实的未来
    开发中的测试名词解释
    Flutter 同步系统的 HTTP 代理设置
  • 原文地址:https://www.cnblogs.com/yoyo008/p/13489020.html
Copyright © 2011-2022 走看看