GIT中常用命令详解1.reset

作者: Leon_Geo | 来源:发表于2017-09-06 14:22 被阅读28次

***操作始终在本分支上

***主要用于重置暂存区

内部操作见下图:

git reset

//git reset 有两种用法:

一是用于切换当前分支master 所指向的提交commit来替换当前暂存区或工作区的内容 (分为hard, soft 和mixed);

‌$ git reset --hard 456gr3

//完成全部3个步骤,即改变引用master 的指向(指向另一个提交commit, 其ID 为命令参数456gr3 );用新指向的commit 目录树替换暂存区的内容;用新指向的commit 目录树替换工作区的内容。

‌$ git reset --soft 456gr3

//完成1 个步骤,即改变引用master 的指向(指向另一个提交commit, 其ID 为命令参数456gr3 );暂存区的内容和工作区的内容不变。

‌$ git reset --mixed 456gr3

‌$ git reset 456gr3

//以上两条命令相等,命令默认采用mixed选项。其完成2个步骤,即改变引用master 的指向(指向另一个提交commit, 其ID 为命令参数456gr3 );用新指向的commit 目录树替换暂存区的内容;工作区的内容保持不变。

‌$ git reset --soft HEAD ^

//仅将引用master 切换到前一个提交,暂存和工作区不变。常用于撤销最近一次提交。

‌$ git reset HEAD ^

//将引用master 切换到前一个提交,并更新暂存区,但工作区不变。

‌$ git reset --hard HEAD ^

//彻底撤销最近一次提交,三区全都恢复到上次提交时的状态

‌$ git reset HEAD

‌$ git reset

//以上两条命令等价。意为重置当前暂存区,也即是撤销所有对暂存区的提交

二是用指定的提交下的文件替换掉当前暂存区的文件。

‌$ git reset 87gy43 -- a.txt

//用ID (哈希值)为87gy43开头的提交下的a.txt 替换掉当前暂存区下的a.txt

‌$ git reset  -- a.txt

//撤销对a.txt 的add 操作。即用当前HEAD 所指的提交下的a.txt 替换掉当前暂存区里保存的a.txt ,暂存区里其它文件不变。

相关文章

  • 实习日记2:git代码管理

    mac:brew install git创建 常用命令:git常用命令及详解[https://blog.csdn....

  • Git 常用命令详解

    @[TOC](Git 常用命令详解) 1. Git 常用命令 1.1 常用git 命令图表汇总 1.2 配置个人信...

  • GIT中常用命令详解1.reset

    ***操作始终在本分支上 ***主要用于重置暂存区 内部操作见下图: //git reset 有两种用法: 一是用...

  • Git-基础1

    常用命令 参考 Git远程操作详解 和 Git教程 which -a git # 查看所有版本的 gitgit -...

  • Git 常用命令详解

    【Git 常用命令详解(二)】[https://blog.csdn.net/ithomer/article/det...

  • git资源学习

    git资源学习 Git详解之一 Git起步 Git详解之二 Git基础 Git详解之三 Git分支 Git详解之四...

  • git相关教程汇总

    1. git常用命令 git常用命令总结git常用命令讲解 2. git教程相关网站 廖雪峰的git教程猴子都能懂...

  • Git远程操作详解

    Git远程操作详解 Git远程操作详解

  • 【Git】reset与revert

    参考文章 【Git】reset实例详解 git revert 详解

  • git命令整理

    git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...

网友评论

    本文标题:GIT中常用命令详解1.reset

    本文链接:https://www.haomeiwen.com/subject/aetvjxtx.html