前言:
    在工作中,有时候会遇到发布的最新代码有问题,或者是排查问题是否是API或者前端问题,需要回退到之前的代码版本。
    本文主要记录两种方式,方便大家操作:①安装了小乌龟TortoiseGit工具进行操作,方便简洁;②使用git工作,使用命令行操作。
一、使用小乌龟TortoiseGit工具
    ①Git -》Show log

    ②reset

    ③选择hard

二、使用git命令行
    Git–如何将当前Git最新版本回退到指定版本号,并为指定版本创建一个新分支同步到远程仓库。
    我们在使用Git分布式管理工具的时候,经常会涉及到如何将本地最新代码切换到之前版本历史里指定版本(这里可能是代码出现bug,需求变更,版本分支,产品线分支等),这是我在实际开发中遇到过的问题,所以在此记录一下整个操作的过程,方便下次能直接使用,而不是百度里翻来翻去,还有就是百度到的东西不一定对的,一定要结合自己的问题进行取舍。
    1.先重新clone远程最新代码到另一个文件目录下(避免文件项目名冲突)。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09
$ git clone https://gitee.com/qrmc/his_pay.git
Cloning into 'his_pay'...
remote: Counting objects: 4154, done.
remote: Compressing objects: 100% (3254/3254), done.
remote: Total 4154 (delta 2066), reused 150 (delta 28)
Receiving objects: 100% (4154/4154), 4.12 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (2066/2066), done.

2.将新项目当前版本回退到历史版本节点上(这里可以根据自己提交代码时的描述进行选择回退,所以在开发中尽量把提交代码时的描述写清楚,方便以后版本的回退),这里回退的版本编号:
    e29440fbf364ca29656e42769d342c34b279bbc9,在回退时只需要填写前6位(e29440)就能回退版本。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/his_pay (master)
$ git checkout e29440
Note: checking out 'e29440'.You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:git checkout -b <new-branch-name>HEAD is now at e29440f... 分界线=======分布式事务处理

3.创建一个新的分支(e29440)来保留切换后的版本分支

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/his_pay ((e29440f...))
$ git checkout -b e29440
Switched to a new branch 'e29440'

4.查看本地分支情况,当前是:e29440 。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/his_pay (e29440)
$ git branch
* e29440master

5.查看远程分支情况,当前是:master 。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/his_pay (e29440)
$ git branch -rorigin/HEAD -> origin/masterorigin/master

6.在远程仓库创建分支(分支名:e29440),并将当前本地分支(e29440)提交到远程分支上,这个时候就能在远程仓库看到分支和分支对应的项目了。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/his_pay (e29440)
$ git push origin e29440
Total 0 (delta 0), reused 0 (delta 0)
remote: Powered by Gitee.com
To https://gitee.com/qrmc/his_pay.git* [new branch]      e29440 -> e29440


    7.远程仓库有多个版本,如何下载指定版本到本地,-b表示要从分支下载,slave就是具体的某个分支的名称。clone时创建新的分支(slave)替代默认Origin HEAD(master)。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/ym_his_pay
$ git clone -b slave https://gitee.com/qrmc/his_pay.git
Cloning into 'his_pay'...
remote: Counting objects: 4226, done.
remote: Compressing objects: 100% (3311/3311), done.
remote: Total 4226 (delta 2091), reused 149 (delta 28)
Receiving objects: 100% (4226/4226), 4.13 MiB | 22.00 KiB/s, done.
Resolving deltas: 100% (2091/2091), done.
Checking connectivity... done.
93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/ym_his_pay/his_pay (slave)
$ git branch
* slave

8.修改当前分支名用git branch -m新分支名,也可以通过git branch -m原分支名 新分支名。

93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/ym_his_pay/his_pay (slave)
$ git branch -m ymSlave93287@DESKTOP-0413I27 MINGW64 /d/workspaceMaster-DongNaoVip2018-04-09/ym_his_pay/his_pay (ymSlave)
$ git branch
* ymSlave

三、总结:Git小册
        这段时间,学习下git的相关操作吧。记录一下,找到的Git小册,方便学习。https://git-scm.com/book/en/v2

参考博客:
        ①git如何回退到之前旧的版本 https://www.cnblogs.com/JacquelineQA/p/14059559.html
        ②Git-如何将当前Git最新版本回退到指定版本号,并为指定版本创建一个新分支同步到远程仓库 https://my.oschina.net/qrmc/blog/1806103
        ③2.3 Git 基础 - 查看提交历史 https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%9F%A5%E7%9C%8B%E6%8F%90%E4%BA%A4%E5%8E%86%E5%8F%B2
        ④Git 将代码恢复到一个历史的版本 https://www.cnblogs.com/handongyu/p/9535885.html
        ⑤GIT RESET版本回退 https://www.freesion.com/article/9494674071/
        ⑥如何用 Git 将代码恢复到一个历史的版本 https://blog.csdn.net/fujunzhi1007/article/details/52401710

Git如何将代码回退到一个历史的版本相关推荐

  1. git push 操作代码回退

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

  2. 两个git库之间迁移_从一个git仓库迁移代码到另一个git仓库(亲测有效版)(转)...

    不保留log等提交的记录的迁移就不说了,soeasy!代码复制粘贴就可以 目标:把A仓库的代码迁移到B仓库并且保存所有的git log,B仓库已经存在了哦,哪怕是个空仓库. 再说这个之前先说点其他.在 ...

  3. git回退历史版本无法上传_Git实用教程(四) | Git本地库操作(查看提交历史、版本前进回退)...

    Git实用教程专栏回顾 Git实用教程(一) | 为什么需要版本控制?(以嵌入式项目开发为例) Git实用教程(二) | Git简介及安装详解 Git实用教程(三) | Git本地库操作(仓库初始化. ...

  4. git使用:代码回退到某个版本

    一.更新本地仓库 git reset --hard 版本号 (只更新了本地,但是远方没有更新,git pull后仍存在最新版本) 二.更新远方仓库 git reset --hard 版本号 git p ...

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

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

  6. Git回退到某个历史版本

    Git回退到某个历史版本 本人前段时间commit代码的时候,不小心commit一些本地的文件上去,并且还推到了开发分支代码,导致同事无法拉取代码,只能够回退版本了.注意,在回退版本之前,请复制粘贴你 ...

  7. 开发工具:Git 代码回退功能详解,很实用!

    来源:占小狼的博客 从接触编程就开始使用 Git 进行代码管理,先是自己玩 Github,又在工作中使用 Gitlab,虽然使用时间挺长,可是也只进行一些常用操作,如推拉代码.提交.合并等,更复杂的操 ...

  8. git 代码回退_「Vue 入门系列」第三期,适合新手入门的 Git 使用教程

    引言 Git 工具对于程序员来说已经不陌生了,在开发中也算是必不可少的工具了,本期我们就来看看如何利用 Git 管理代码,以及如何将代码提交到远程(线上) Github 仓库中. 主题:使用 Git ...

  9. Git 代码管理(代码提交和代码回退)

    Git 代码管理(代码提交和代码回退) Git的主要功能是代码管理,版本管理,分支管理. 在远程代码管理平台上,项目的代码被管理在一个远程代码仓库中,在本地,代码保存在一个本地代码仓库中.通过Git, ...

最新文章

  1. 绝望,上传文件失败。。遇到并解决java.lang.NullPointerException
  2. 【错误记录】发布 Flutter 插件包报错 ( Failed to upload the package.pub finished with exit code 1 )
  3. Dubbo 3.0 前瞻之对接 Kubernetes 原生服务
  4. CentOS安装Chrome
  5. 你真的懂 timeout 吗?
  6. nvml.dll 英伟达公司提供的动态库用途
  7. Linux常用运维命令笔记
  8. 《BI那点儿事》运用标准计分和离差——分析三国超一流统帅综合实力排名 绝对客观,数据说话...
  9. 朵唯机器人怎么连网_平遥古城推出机器人导游 可伴游还可骑行
  10. Bailian2790 迷宫【DFS】
  11. github【如何删除一个repository(仓库)】
  12. java restful文件传输_Spring Boot 2.0实现基于Restful风格的文件上传与下载APIs
  13. iOS开发证书要点详解
  14. c语言编万年历算法,C语言编万年历
  15. 迎接专业音频世界的AoIP时代
  16. 2021-03-08~09~10~11~12 大数据课程笔记 day47day48day49day50day51
  17. 首发于 monitor 写文章 重修微积分2——收敛 精选 zy han zy han 重修微积分2——收敛 精选 已有 12780 次阅读 2015-3-30 07:58 |个人分类:科普|
  18. 微信服务号前端页面开发总结
  19. 腾讯云 视频通话SDK 第一个坑 域名要开https
  20. 常见数据同步工具的对比

热门文章

  1. 猴年马月!掌握JAVA
  2. 算法学习 —— 链表反转
  3. 闲鱼跳转支付宝+带后台源码
  4. Browserify budo
  5. [转]亿级Web系统搭建——单机到分布式集群
  6. Two Stream R-C3D用于时序区域行为检测
  7. Oracle常用语句总结(后期续更)
  8. 人证比对+图片相似度+MTCNN+FACENET+CNN
  9. Java调用R脚本的方法总结
  10. 上海亚商投顾:沪指缩量调整跌超1% 新能源车产业链掀涨停潮