博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IDEA远程仓库版本回滚
阅读量:6899 次
发布时间:2019-06-27

本文共 941 字,大约阅读时间需要 3 分钟。

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

本地仓库回滚

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

20181202183824.png

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 这种方式来强制回滚远程仓库代码!

正确的远程仓库回滚方式

20181202173041.png

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

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

20181202190206.png

这里提示需要 commit

20181202190327.png

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

20181202190438.png

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

20181202190551.png

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

搞定,收工!

转载于:https://www.cnblogs.com/vcmq/p/10162051.html

你可能感兴趣的文章
×××部署推进信息化发展工作
查看>>
SecureCRT 端口转发突破防火墙访问内网机器
查看>>
Kylin 2.0 升级总结
查看>>
My97日期控件
查看>>
理解关系数据库中的ACID、事务、隔离级别
查看>>
Rinetd
查看>>
安卓电子市场开放下载VMware View 客户端
查看>>
Backbone.js(1.1.2) API中文文档
查看>>
Spring Social实现QQ社交登录
查看>>
adm100练习4-关闭SAP
查看>>
详解karma & jasmine自动化测试
查看>>
让代码飞起来——高性能Julia学习笔记(二)
查看>>
SCCM TP4安装客户端Agent
查看>>
基于Solr的全文搜索服务器的安装部署
查看>>
网页图片优化的实用工具和技巧分享
查看>>
Smarty高级特性 – 用户自定义函数使用 SMARTY:: register_function
查看>>
APR协议
查看>>
Dedecms从服务器到安装一条龙攻略
查看>>
查看tomcat启动文件都干点啥---Catalina.java
查看>>
JDK安装与环境变量配置
查看>>