两种情况(场景)

情况一

代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销

解决方案:

情况二

代码已经push到运程仓库,想把代码还原到上一次提交,此时操作为代码回滚

解决方案:

1)先查看git提交日志,找到上次提交的信息,输入命令 git log (查看全部日志)或 git log -xx(查看最近xx条日志)

$ git log -3

commit 4dc08bb8996a6ee02f

Author: Mark

Date: Wed Sep 7 08:08:53 2016 +0800

xxxxx

commit 9cac9ba76574da2167

Author: xxx

Date: Tue Sep 6 22:18:59 2016 +0800

improved the requst

commit e377f60e28c8b84158

Author: xxx

Date: Tue Sep 6 14:42:44 2016 +0800

changed the password from empty to max123

可以看到,我标红的就是commit的ID标识,所以为了更好区分你每次代码提交标识,建议每次提交时给到Tag(提交信息)。

2)回滚到指定的版本(hard后面接的是上面标红的ID,也就是想回滚到的版本)

3)强制提交(这个时候已经将代码回退了,你现在的分支状态就处于你上一步指向的版本)

4)如果你只是误提了代码,想保留代码改动的话,那就在2)的时候使用revert 命令,而不是reset,两者区别如下:

revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;

reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

关于对Git中reset详解,可以参考:https://www.jianshu.com/p/12803dba313e

补充场景:误将其他分支代码合到自己分支且代码已提交到远端

思路:

先将代码回滚到上一次提交,这样原本提交到远端的代码就会被撤销并在本地重新生成一次提交,接着将想提交的代码修改完后,暂存到本地存起来,接着切换到主分支将主分支代码拉下来保持其代码一致,随后删除掉原本提交代码的分支,重新新建一个分支,接着将原本暂存的代码拿出来,提交到新分支上,结束!

解决步骤:

回滚master代码_[转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)...相关推荐

  1. git 回滚 add 操作_炫技!git 优雅回滚一次错误的合并操作!

    点击蓝色小字关注! 关注一下你就不会有bug!合并操作 相对于常规的 commit,当使用 git merge 合并两个分支的时候,你会得到一个新的 merge commit. 当我们 git sho ...

  2. git-代码撤销、回滚到任意版本(git回滚命令reset、revert的区别)

    文章目录 一.Git 代码撤销.回滚到任意版本(当误提代码到本地或master分支时) 二.git回滚命令reset.revert的区别 1. 背景知识 2. 方法一:git reset(回退) 3. ...

  3. SpringBoot 异常回滚 事务的使用___Springboot @Transactional 事务不回滚

    Springboot中事务的使用: 1.启动类加上@EnableTransactionManagement注解,开启事务支持(其实默认是开启的). 2.在使用事务的public(只有public支持事 ...

  4. git gui怎么拉取项目代码_这些Git命令都不会,还是不要去面试了

    前言 以下,项目中经常使用的Git命令,汇总到这里以便与你能快速的学习和掌握Git命令,在文章最后有惊喜哟,一定要看到最后啊! 使用的 Git版本:git version 2.24.0 命令 git ...

  5. python回测代码_只用3行Python回测你的交易策略

    作者|Lorenzo Ampil 编译|VK 来源|Towards Data Science 自从我开始学习投资,我接触了不同的股票分析方法-技术分析和基本面分析.我甚至读过很多关于这些技巧的书和文章 ...

  6. 【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

    文章目录 一.查看提交记录 git log 1.查看详细提交记录 2.查看简略提交记录 二.版本回滚 git reset 1.Git 中的版本表示 HEAD~1 2.版本库代码回滚 三.撤销回滚 1. ...

  7. git 怎么回退已经push的版本_git push 操作代码回退

    (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 这些开发中很常见的问题,所以git的取消提交, ...

  8. Git之拉取指定tag版本/切换指定tag代码

    前言 工作过程中,软件需要发布新版本,要求在git分支上打上tag,方便以后维护该版本软件程序. 一.tag命令简介 tag是git版本库的一个标记命令,指向了某个commit的指针,tag命令主要用 ...

  9. lstm代码_贼好理解,这个项目教你如何用百行代码搞定各类NLP模型

    机器之心报道 参与:思源.贾伟 NLP 的研究,从词嵌入到 CNN,再到 RNN,再到 Attention,以及现在正红火的 Transformer,模型已有很多,代码库也成千上万.对于初学者如何把握 ...

最新文章

  1. 深度学习编译器综述The Deep Learning Compiler
  2. 首次揭秘!大麦如何应对超大规模高性能选座抢票?
  3. mysql with as_mysql数据库学习(第十六篇)- 视图
  4. 查看手机截图的坐标信息
  5. 手动创建DataTable
  6. SAP CRM WebClient UI和Hybris Commerce里的跨组件跳转
  7. why COMM_PRFREEATTR could not appear in F4 help
  8. 超简单的利用plist 查看ipa包名及其它信息
  9. mysql集群 clu_MySQL高可用之PXC简介
  10. Spark如何定位导致数据倾斜的代码
  11. IDL编程实现拟合树的圆心代码
  12. UTF-8 汉字编码与其16进制对照
  13. php调用纯真ip,php调用纯真IP数据库进行IP定位
  14. typecho插件,typechoSEO插件,typecho程序插件
  15. 锂电池充电原理__2020.03.10
  16. 浅析微信支付:公众平台卡券功能开通、HTML5线上发券(JS-SDK接口)、查看卡券详情
  17. 百度地图-根据经纬度定位示例-百度地图单点标注(整理)
  18. VS Code, VS 2022 使用正则表达式进行替换
  19. 7.0.高等数学四-隐函数存在定理
  20. 信息安全技术——(五)信息隐藏技术

热门文章

  1. 使用createrepo自建yum源
  2. Android开发历程_18(XML文件解析)
  3. Our Proof : Page Scraping : Website Data Extraction : Data Mining Analytics : Connotate.com
  4. anndroid ndk使用
  5. [更新中]Lucene.net,中文分词技术 ICTCLAS研究
  6. XGBoost、LightGBM的详细对比介绍
  7. acm寒假特辑1月24日 HDU - 2191(背包)/CodeForces - 500A
  8. How to Make a Computer Operating System
  9. 在C#中,如何连接已加密的Sqlite数据库
  10. Devexpress GridControl中 repositoryItemCheckEdit作为选择列以及作为显示列的使用方法