git远程代码库回滚(webstorm下)

1. 场景

添加了一个文件【file-for-test.js】到git的控制下

进行了三次修改,并分别进行了三次commit,最后进行了一次push

git log结果如下图:

【file-for-test.js】文件的内容如下图:

现在希望,将远程代码库下的【file-for-test.js】文件回滚到【//lyn test1】的版本

2. 操作步骤

2.1. 【Version Control】——【Log】

2.2. 右击【//lyn test1】行,【Reset Current Branch to Here...】

2.3. 选择【Hard】,点击【Reset】

此时git log结果如下图:

2.4. 关键步骤:设置force push

2.4.1. 【VCS】——【Git】——【Push】

2.4.2. 【Configure】

2.4.3. 勾选【Allow force push】,【OK】

2.5. 【VCS】——【Git】——【Push】

2.6. 勾选【Push Tags】,选择【Current Branch】,选择【Force Push】

2.7. 【Force Push】

2.8. OK

git log结果如下图:

【file-for-test.js】文件的内容如下图:

3. 特别注意

后来发现,使用本文所述方法,在以下场景会出现问题:

动作1:开发人员A push了一个错误的commit到远程代码库

动作2:开发人员B pull了远程代码库到其本地代码库中

动作3:开发人员B修改了一定的代码,commit到其本地代码库中(与远程代码库中不冲突)

动作4:开发人员A按照本文操作,回滚远程代码库到push错误的commit之前的版本

动作5:开发人员B push本地代码库中的commit到远程代码库中

就在此时,由于开发人员B的本代码库中有开发人员A错误的commit,所以开发人员B的push操作会先将本地代码库(有错误commit的版本)和远程代码库(没有错误commit的版本)进行merge,得到一个有错误commit的版本,再push到远程代码库上。所以,你懂的。

故,结论:当出现需要远程代码库回滚时,采用直接修改后再重新push的方法,不要采用本文所描述的方法

git远程代码库回滚(webstorm下)的更多相关文章

  1. git本地代码库回滚(webstorm下)

    git本地代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下(并没有push到远程分支上) 进行了三次修改,并分别进行了三次commit( ...

  2. git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  3. 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    [git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br  (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...

  4. 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚

    转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...

  5. git远程库代码版本回滚方法

    最近使用git时, 造成了远程库代码需要回滚到之前版本的情况,为了解决这个问题查看了很多资料. 问题产生原因: 提交了错误的版本到远程库. 以下是解决的方法, 供大家参考: 1.对本地代码库进行回滚 ...

  6. 关于git远程版本库的一些问题之解决

    Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedK ...

  7. git 版本库回滚(转载)

    From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html From: http://www.tech126.com ...

  8. 15分钟学会使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

  9. 使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

随机推荐

  1. PDF去除签名

    1.创建一个只有一页的PDF,用Acrobat打开.2.使用“文档->插入页面”,把有数字签名的文档插入到那一页后面.3.使用“文档->删除页面”,删除第一页,然后保存文档.

  2. 多文件的Makefile

    Linux下编写一般采用gcc编译工具,但gcc无法满足大量的文件同时编译,这是就用到Makefile,首先先介绍一下gcc GCC编译的四个步骤 1.预处理,生成预编译文件(.文件): Gcc –E ...

  3. bzoj 4036 按位或 —— min-max容斥+FMT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 min-max容斥:https://blog.csdn.net/ez_2016gdgz ...

  4. erlang的lists笔记

    一般循环用在遍历列表的时候,erlang有lists模块直接支持遍历,不需要自己写尾递归遍历list lists:foreach 用来遍历列表,不保存结果,最后一次返回ok lists:map 遍历列 ...

  5. net start mongodb发生系统错误2 系统找不到指定的文件

    安装mongodb时, 将mongodb 作为系统服务启动 net start mongodb,报错发生系统错误2 系统找不到指定的文件 . 查找原因是因为,系统服务的可执行文件地址有误. 修改服务地 ...

  6. demo 2 chart 报表

    function killerrors() { return true; } window.onerror = killerrors; //检查浏览器类型 function checkBrowser( ...

  7. 【转】用JMeter来测试Tomcat的性能

    JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/ ...

  8. mydumper 找不到libmysqlclient.so.20

    报错信息: mydumper: error while loading shared libraries: libmysqlclient.so.20: cannot open shared objec ...

  9. 5月12日上课笔记-js 弹出框、函数、程序调试、基本事件、浏览器对象模型

    一.弹出框 a.提示框 alert(); b.输入框 prompt(); c.确认框 confirm(); var flag= confirm("确认删除吗?"); 二.js程序调 ...

  10. redis改密码

    一. 如何初始化redis的密码? 总共2个步骤: a.在配置文件中有个参数: requirepass  这个就是配置redis访问密码的参数. 比如 requirepass test123 b.配置 ...