背景:

Git协作中,成员不可避免地会提交一些错误的版本,由于Git相比SVN引入了本地仓库,操作会相对复杂,以下为姿势分解

找一个源文件RspUtils.java,加上一行注释 //测试回退git服务器版本,然后Commit并Push,现在的版本记录如下(Mac版的SourceTree为例)

dd5f51f...就是有问题的版本,现在我们要回退到7a22c8f...版本,选中7a22c8f...版本,点击右键,弹出选项

选中,Reset master to this commit,这个就是reset命令啦

选择Hard模式,然后在当前主干上最新的版本记录上点击右键,继续选择Reset master to this commit

选择Soft模式

commit + push就完成服务器上版本回退了,最终的版本记录如下:

no message就是我最后commit的版本,由于没写注释,工具自动加的(实际工作中不写注释或注释写得看不懂是很不好的习惯,必须坚决改正)

注意事项: 从第1个图和最后一个图可以看到,在第1个图中,我有没提交的记录Uncommited Changes,经过reset hard之后丢失了,所以大家在回退版本时必须保持头脑清醒,慎用reset hard

整个姿势(原理)回顾:

reset - hard xxx 放弃本地的修改取服务器的覆盖掉本地的
rest -soft xxx将本地的指针指向主干最新那个版本
commit
push

最新文章

  1. Datazen安装
  2. 剑指Offer面试题:21.从上到下打印二叉树
  3. jQuery源代码学习之九—jQuery事件模块
  4. Angular SEO方案
  5. 新的博客已经启用,欢迎大家访问(402v.com)
  6. YII学习,实现基于数据库的后台登录,用户体系.
  7. Boosting算法简介
  8. Android4.3引入的UiAutomation新框架官方简介
  9. jdk之String
  10. MySQL 导入导出数据库、表
  11. nginx修改上传文件大小限制
  12. 使用HostAliases 添加pod 的/etc/hosts
  13. 并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
  14. 学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
  15. ASP入门(八)-Request对象
  16. ActiveMQ集群方案
  17. iOS程序启动过程笔记
  18. 如何高效利用 GitHub
  19. obj比较
  20. Mathcad操作tips:2D绘图

热门文章

  1. 使用highcharts显示mongodb中的数据
  2. Node.js学习笔记(一):快速开始
  3. iOS开发-UI (一)常用控件
  4. iOS设置UITableView中Cell被默认选中后怎么触发didselect事件
  5. 修改/etc/resolv.conf又恢复到原来的状态?[转]
  6. FileOutputStream flush()
  7. eclipse中debug快捷方式
  8. Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
  9. mysql 时间
  10. sqlmap基础使用