[图解git] git reset 的三种模式

git reset 是恢复到某次 commit 记录的命令,有三种常用模式:

  • mixed(默认模式),get reset <commit-id>
  • soft get reset --soft <commit-id>
  • hard get reset --hard <commit-id>

现在假设我们有 foo.txt 文件,里面只有一个字符 1 ,已经把他放进版本库中:

foo.txt

然后修改 foo.txt ,在里面添加一个字符 2 ,放进版本库:

foo2.txt.png

此时使用 reset 命令的任何一种模式恢复到 d855a71d5 都会将 7a39fa077 记录抹去,回到 d855a71d5

三者的区别在于 7a39fa077 抹去以后,工作区和暂存区的情况:

  • mixed 模式在回到 d855a71d5 之后,之前修改的记录在工作区
  • soft 模式在回到 d855a71d5 之后,之前修改的记录还在暂存区,可以直接 commit 到版本库中
  • hard 模式最彻底,彻底恢复 d855a71d5 ,之前修改的记录全部丢失

git reset 是最重用的 git 命令,需要好好理解。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 12,773评论 1 26
  • 很高兴来到美丽的达沃斯。达沃斯虽然只是阿尔卑斯山上的一个小镇 ,却是一个观察世界经济的重要窗口。大家从四面八方会聚...
    fancyrus阅读 3,192评论 0 0
  • 苦心孤诣终成空一世功名散风中死后大明再无将三桂拱手让辽东元敬扬威张居正鹏举受死风波亭自古权术为一体重权轻术误平生
    爱码爱自由阅读 3,382评论 3 18
  • 剧本就是剧本,生活就是生活,生活往往比剧本离奇更多。看完《浮生六记》,你就会发现那些宫斗剧都是经不起推敲的,在古代...
    菡丹飞扬阅读 1,603评论 0 0

友情链接更多精彩内容