简介

在程序员实际工作过程中,提交代码后,偶尔也有后悔的时候,但是都提交到本地仓库或者推送到远程服务器了,可怎么办?我想要回到某一个提交的版本,git就很贴心的提供了对应的功能,可以让你随心所欲的后悔。虽然世界上没有后悔药,但是git可以做到。

git reset前置知识

 

  • 使用git reset之前,需要对git中的区域有一定的了解。git中的区域划分为工作区(WorkSpace)、暂存区(Stage/Index)、本地库(Local Repo)和远程库(Remote)四个区域。

 

 

  • 同时git reset还需要跟三个参数联合使用,效果更好

  • –hard

  • –mixed

  • –soft

三个指令的区别:对于工作区、暂存区、本地仓库的回滚的粒度范围不一样,可以根据实际的需求选择不同的参数来回滚不同区域的代码。

git reset –hard指令图解

 

  • 使用当前的命令,工作区、暂存区、本地仓库都会回滚到对应commit-id上

 

git reset –mixed指令图解

  • 使用当前的命令,工作区代码不会受到影响,但是暂存区、本地仓库区的代码已经回滚到了YY对应的commit-id上。

git reset –soft指令图解

  • 使用当前的指令,工作区和暂存区的代码不会受到影响,但是本地仓库的代码会回滚到YY对应的commit-id上

总结

对于–hard,–mixed,–soft参数,可以根据具体情况使用,区别就是git中工作区、暂存区、本地仓库是否会受到影响。根据上文可以看出,他们三个对于git区域的影响范围一次递减。如果有良好的add,commit的习惯(根据工作进度及时commit,不要所有的东西一次性梭哈)建议使用–hard模式,但是同时可以跟其它的指令综合使用,比如

git stash -m "暂存信息"

git reset --模式 commit-id

原文地址:http://www.cnblogs.com/zouhong/p/16877334.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性