使用 git 进行项目的版本控制时,肯定会遇到回滚版本的情况,回滚有两种,一种是本地仓库回滚,另外一种是远程仓库回滚。以下详细讲解两种回滚方式,本文主要讲解远程回滚,以及常见使用误区。

本地仓库回滚

本地回滚就很简单,只是要撤销 commit 信息即可。可以直接使用 Reset HEAD进行回滚。

HEAD^ 是还原到上一个版本,HEAD^^ 是还原到上上一个版本。

Reset Type 有三种:

mixed 默认方式,只保留源码,回退commit和index信息

soft 回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit

hard 彻底回退,本地源码也会变成上一个版本内容

错误的远程仓库回滚方式

远程仓库代码回滚,如果上 Google 上一搜,基本出来的答案都是使用 Reset HEAD 加上 git push -f 强制提交的方式。

我本地测试了一下,如果有两个人同时在这条分支上开发,其中一个人 小 A 如果使用这种方式进行回滚了远程仓库代码,另外一个人 小 B 此时本地还是回滚之前的代码,小 B 那里就会出现本地代码版本高于远程分支版本的情况,此时若小 B 进行了 push 操作,之前小 A 回滚的代码就又会被推送到远程的仓库了。除非小 B 在回滚后,将其本地仓库的版本也进行回滚。才能保证不会把回滚的代码重新 push 回远程仓库,但是如果开发人员多,就无法保证所有开发人员的本地分支都回滚!

因此,不要使用 git push -f 这种方式来强制回滚远程仓库代码!

正确的远程仓库回滚方式

如图所示,现在需要将远程仓库回滚到 dev-103 这次提交点。

选中 dev-103 这一行,右键选择 Revert

这里提示需要 commit

commit 之后,push 到远程仓库中。最终结果如下:

新增了一条提交记录,查看代码已经被回滚了

其他开发人员如果进行了 pull,其本地仓库也被正确回滚到了 dev-103 提交点,就无需再担心回滚的代码又被重新 push 到远程仓库啦。

搞定,收工!

idea代码回滚_IDEA远程仓库版本回滚相关推荐

  1. git---远程仓库版本回滚

    开发中,发现有错误版本提交带远程分支master,怎么处理? 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回 ...

  2. git reset 回退以前某个版本_远程仓库版本回退方法--Git(二)

    1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版本到远程分支,怎么回退远程分支 ...

  3. [Git高级教程(二)] 远程仓库版本回退方法

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 ...

  4. 【Git之窗】(十)“远程仓库”版本回退解决方案

    由于TGB的图书管理系统托管在本地服务器上的GitLab中,最近因为大家使用Git过程出了一些问题,导致需要回退服务器上的远程版本,回退过程中又出了一些问题,比如push不上去,比如别人电脑的版本比远 ...

  5. Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库!

    Git入门最终集!SSH公钥是乱码怎么办?IDEA与Git!将自己的代码上传至远程仓库! 一.更改用户名和主机名! 因为当时Windows设置的用户名为中文名称,导致生成的SSH密钥是乱码非常难受,原 ...

  6. git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等

    1.分支管理 新建并切换分支:git checkout -b <name>新建本地分支并关联到远程分支git checkout -b myRelease origin/Release合并某 ...

  7. [超详细] Git 远程仓库及回滚日志操作

    一.远程仓库基本操作 1.拿到仓库地址(以GitEE为例): 2.初始化Git: 使用命令:git init 在准备存放的文件夹里使用命令git init进行初始化,也就是把这个文件夹变成git专属文 ...

  8. Git远程库版本回滚

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...

  9. 已推送到远程仓库的项目如何让本地回退后和远程仓库版本保持一致,也就是如何回退本地,远程仓库代码重新提交?...

    1.远程仓库重新提交必须和提交前的changeId和jiraId号保持一致 流程: 1.git reset 要回退到哪个版本的版本号 2.进行增删改操作 3.git add -A 4. git com ...

最新文章

  1. 携号转网:欢迎比阻挠更为有效
  2. 朋友来网易面试,挂了~
  3. 大数据软件产品研发进展及挑战
  4. Android NullPointerException解决方法(空指针异常)
  5. Java反射之从对象获取值
  6. ORM(四)应用.脚本管理工具
  7. 第十六周进度报告总结
  8. 新增页和列表页遇到的坑
  9. 上传文件_Spring Boot文件上传
  10. 含泪推荐5款实用又小巧的PC软件
  11. ElementUI修改Dialog的标题样式
  12. redis集群scan_RedisCluster的scan命令
  13. Codeforces - F. Dominant Indices
  14. 小年到了,回家抢票太难,用Python做个脚本12306自动查票以及自动购票....
  15. 统计学、深度学习、机器学习、数据挖掘
  16. iOS OC语言(二) 类
  17. gdb gdbtui
  18. 慧点科技解决方案[1]
  19. ViLD(Open-Vocabulary Object Detection via Vision and Language Konwledge Distillation)
  20. 罗韵:以计算机视觉的研发开拓世界的边界

热门文章

  1. 操作系统--多进程管理CPU
  2. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 17丨文章浏览 I【难度简单】​
  3. Flask --- 框架快速入门
  4. Redis系列四、redis的五种数据结构和相关指令之List
  5. JNDI配置原理详解
  6. java 变量初始化_浅谈Java变量的初始化顺序详解
  7. python实现搜索之二分查找
  8. bucket sort sample sort 并行_双调排序Bitonic Sort,适合并行计算的排序算法
  9. oracle 作业已存在,ORA-31634: 作业已存在
  10. JAVA入门级教学之(break跳出)