idea代码回滚_IDEA远程仓库版本回滚

使用 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 到远程仓库啦。

搞定,收工!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AppScan api登录接口 postman_【Postman】12 Postman monitor功能使用

通过前面的文章,我们已经能完成接口的Collection,添加断言,Data文件数据驱动,设置变量(Data、Globals和Environment)等等方法,对我们的接口进行个各种的测试,保证其正确性。但是还可…

Linux编程基础 5.1:管道

1 简介 Linux进程通信机制: 管道信号量消息队列共享内存socket通信 2 管道 管道其实质是由内核管理的一个缓冲区 形象地认为管道的两端连接着两个进程: 一个进程进行信息输出,将数据写入管道;另一个进程进行信息输入&#xff…

python pd Series 添加行_Python数据分析与挖掘的常用工具

Python语言:简要概括一下Python语言在数据分析、挖掘场景中常用特性:列表(可以被修改),元组(不可以被修改)字典(结构)集合(同数学概念上的集合)函数式编程(主要由lambda()、map()、reduce()、filter()构成)Python数据分析常用库:P…

华为荣耀20和x10比较_荣耀X10和华为畅享20plus,到底哪个更值得入手?

今天,我接到了联通客服的电话,说我是老用户,直接给我升级成了5G套餐,资费没有太多的变化,比起以前每月月租只多了一块钱,也就是从原来的48元一个月变成了49元一个月,就加了一元钱就变成了5G套餐…

Linux编程基础 5.2:消息队列

3 消息队列 消息队列的本质是一个存放消息的链表,该链表由内核来维护。一个消息队列由一个标识符(即队列key)来标识。消息队列的通信机制传递的数据具有某种结构,而不是简单的字节流;向消息队列中写数据,实…

python tab和空格混用_Python编程常见十大错误,看完你自己都笑了!

关注并置顶【柠檬班】的小哥哥小姐姐胸有成“猪”使用python会出现各种各样的错误,以下是Python常见的错误以及解决方法。01 ValueErrorValueError: ‘Conv2d_1a_33’ is not a valid scope name其实这就是命名错误的问题,如果仔细看“”是我在中文下打的…

Linux编程基础 5.3:信号量

4 信号量 信号量是专门用来解决进程同步与互斥问题的一种通信机制,它与信号无关;不同于管道、FIFO以及消息队列,一般不用来传输数据;信号量包括:表示资源数量的非负整型变量、修改信号量的原子操作P和V、该信号量下等…

谷歌浏览器外贸版_针对谷歌SEO,你有哪些值得推荐的工具、插件、网站、app,或者技巧分享?...

接触并了解谷歌SEO也有3年了,这3年来,一直钻研这块技术和工具,今天刚好看到这个问题,就分享下。目前谷歌SEO主要分3大块,站内SEO(On page seo,做好站内优化),站外SEO(off page seo 主要是外链)&…

hadoopsdk使用_hadoop部署使用问题及解决

在cygwin环境中填写路径信息时务必注意将“\”替换为“/”。hadoop文件夹名称不能包含“-”,比如“hadoop-2.4.0”会出错。在cygwin环境中尽管“C:\abc”和“/cygdrive/c/abc”都可以被正确识别,但某些软件会将前者识别为相对路径,从而出现错…

Linux编程基础 5.4:共享内存

5 共享内存 共享内存允许两个或多个进程访问给定的同一块存储区域。它是效率最高的一种进程通信方式,节省了不同进程间多次读写的时间;在写进程的操作尚未完成时,不应有进程从共享内存中读取数据。共享内存自身不限制对共享内存的读写次序&a…

升级浏览器_微软IE11浏览器 最后的升级机会

微软IE10浏览器将很快退出支持,许多Windows用户将没有任何安全或非安全更新,免费或付费辅助支持选项或在线技术内容等。幸运的是,微软正在为Windows用户提供升级到IE11的最后机会,目前IE11仅次于Firefox浏览器,这是互联…

jq如何获取选中option的值_【分享】如何获取变量token的值

一.什么是token客户端使用用户名跟密码请求登录服务端收到请求,去验证用户名与密码验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 LocalStorage …

Linux编程基础 6.1:线程操作

1 线程操作 创建线程 挂起线程 终止线程 其它操作 1.1 创建线程 #include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); 功能&#xff1a;创建线程&#xff1b;线程调用pthread_crea…

灯效控制器和rgb控制器_更具个性的RGB风扇,机箱里的魔术师,九州风神MF120GT开箱...

写在前面不知道在2020年还有多少人会自己装机&#xff0c;相信喜欢个性的DIY玩家还是会陆陆续续跳进这个不小的坑。装机的乐趣在哪里&#xff0c;除了几大硬件&#xff0c;显然个性的灯效才是装机的灵魂。在光污染的道路上&#xff0c;普通的光环&#xff0c;光面等风扇&#x…

华为交换机ssh思科交换机_华为交换机SSH(stelnet)配置实例教程

Stelnet(安全telnet)登陆也成为shh(sercure shell,安全外壳)登陆-----------必要配置---------------1、先根据加密算法生成秘钥对,用于传输数据时加密保护&#xff0c;保存在交换机中但不保存在配置文件中[Huawei]rsa local-key-pair create或[Huawei]dsa local-key-pair crea…

Linux编程基础 6.2:线程同步

2 线程同步 线程同步中的“同步”与生活中大家认知的“同步”略有不同&#xff0c;“同”不指同时&#xff0c;其主旨在于协同步调&#xff0c;按预定的先后次序执行线程&#xff1b;之所以需要实现线程同步&#xff0c;是因为若不对线程的执行次序加以控制&#xff0c;可能会…

电脑开两个微信_电脑怎么登录两个微信

1/4下载并安装微信电脑客户端&#xff0c;保证这台电脑没有登陆微信2/4就像正常打开微信一样&#xff0c;不过不是双击&#xff0c;而是快速连点四次3/4我们可以看到有两个微信登陆界面4/4用两个不同的账号进行扫码登陆即可

idea 查询项目代码行数_idea统计代码行数Statistic的步骤详解

idea统计代码行数Statistic的步骤详解idea统计代码行数可以用到插件&#xff1a;Statistic。步骤&#xff1a;File→Settings进入Plugins点击Marketplace搜索Statistic 安装蓝框标出的插件重启idea后就可以看到效果了(图是拿的别人的&#xff0c;基本就是这效果)如果没有下…

Linux编程基础 7.1:套接字通信流程及编程接口

1 socket通信流程 2 socket编程接口 Linux系统中常用的socket网络编程接口有&#xff1a; socket()bind()listen()accept()connect()send()recv()close()其中connect()与send()为客户端专用接口&#xff1b;bind()、listen()、accept()及recv()为服务器端专用接口&#xff1b…

cad2016中选择全图字体怎么操作_cad教程分享CAD中如何删除顽固图层?

Autocad教程公众号&#xff0c;专注于cad教程、cad教程视频的分享&#xff0c;欢迎关注&#xff0c;下载你所需的教程资源&#xff01;如你还未关注&#xff0c;请点击文章标题下方蓝色字体的"Autocad教程"进行关注。cad教程分享-CAD中如何删除顽固图层&#xff1f;方…