有时候我们用git提交代码后发生了错误,代码冲突了啊等等,我们需要将代码回到以前的某个版本

git代码回退有两种办法

一、git reset(推荐):

它是将最新的commit删除,用以前的某个版本的代码替代最新的代码,这里我们测试下

这里有很多的commit,我现在想将代码退回到第三个commit的时候,如果是用git命令,在项目的根目录就是有.git隐藏文件的目录,右击打开黑窗口

git reset --hard d83053a1a3ad6e169300b70a1f38b8b3d13d8576(这里是commit的标识)

执行完我们就回到了这个版本的代码,我们的本地代码,head什么的都改过来了,不过远程仓库的代码没有改过来,这个时候我们需要用

git push -f origin dev        //强行推送我们的代码,用我们现在的代码完全覆盖远程仓库的代码,正常推送会有冲突,这里不会有什么冲突的

如果我们用tortoise git(乌龟git)界面化git,我们右击项目点开show log

找到我们的某次提交,右击选择reset dev to this...,选择hard

确定后本地就已经改过来了,右击项目push代码,勾选unknown changes(就是强制推送代码的意思)

远程仓库的也改过来了

这里就会发现我们以前的commit不见了,我们想要恢复到的第三个commit上来了,成了最新的commit

二、git revert

这种方法是在已有代码的基础上面,在做一次commit,不过这个commit是对某次commit的反向操作,如果我们做错了某次提交,我们可以再做一次反向的提交,就可以回到上一个版本的代码了

不过这个方式我不太喜欢,退回到上一个版本还好,如果想要退回到以前的某个版本很有可能就会冲突了,而且提交的时候也会比较麻烦,这里记录下:

现在我要把git的代码回退,revert操作用tortoise git(乌龟git)好像不太好用,点击revert经常上面都没有,这里就记录下用git命令怎么做:

在项目的根目录右击,打开黑窗口,输入:

git revert d83053a1a3ad6e169300b70a1f38b8b3d13d8576(最新的commit标识)

我们会发现来到了个黑窗口,我们需要在最下面输入提交的message,随便写些什么都可以

写一些东西后,按ESC,然后同时按shift+;  ,输入wq,回车就可以了(这完全就是linux命令)

这个时候我们本地的代码也已经改过来了,然后我们需要将代码提交到git远程仓库,我们先pull,再push(不用先commit了,这其实做的就是一次commit操作,不过做的是某个反向的commit功能),然后我们远程的代码也改过来了

看下自己的代码吧,写完收工

最新文章

  1. Python学习day3作业
  2. How to load a local .CSS file & JavaScript resources using iPhone UIWebView Class
  3. HTML 学习笔记(链接)
  4. URL重写
  5. 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务
  6. 提示Can't load package:dclite70.bpl解决方法
  7. VC 运行时库 /MD、/MDd 和 /MT、/MTd
  8. Jquery中用offset().top和offsetTop的比较
  9. [HDU 1806] Frequent values
  10. 怎样在win7下装ubuntu(硬盘版安装)
  11. hbase的thriftserver开启
  12. Android-PullToRefresh下拉刷新库基本用法
  13. iOS修改截取图片不规范问题
  14. # void :;
  15. Cognos配置管理
  16. Java项目生成Jar文件
  17. HDU_4826
  18. 如何让pandas表格直接转换为markdown表格
  19. mysql 查询优化 ~ 多表查询改写思路
  20. mybatis(一、原理,一对多,多对一查询)

热门文章

  1. Android -- 贝塞尔实现水波纹动画(划重点!!)
  2. 商城项目实战 | 2.2 Android 仿京东商城——自定义 Toolbar (二)
  3. Web.简单配置
  4. PowerBI 第二篇:数据建模
  5. CVSS3.0打分学习
  6. 蓝桥杯-比酒量-java
  7. Android计时器 android.widget.Chronometer
  8. SDN学习之OpenFlow协议分析
  9. IOS中的UIScrollView
  10. Gartner:当商业智能成熟度低时,如何加快分析采用率