git远程代码库回滚(webstorm下)
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下)的更多相关文章
- git本地代码库回滚(webstorm下)
git本地代码库回滚(webstorm下) 1. 场景 添加了一个文件[file-for-test.js]到git的控制下(并没有push到远程分支上) 进行了三次修改,并分别进行了三次commit( ...
- git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...
- 【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
[git 删除本地分支] git branch -D br [git 删除远程分支] git push origin :br (origin 后面有空格) git代码库回滚: 指的是将代码库某分支退 ...
- 【转】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
转载自:http://m.blog.csdn.net/blog/lihongli528628/45483463 [git 删除本地分支] git branch -D br [git 删除远程分支] g ...
- git远程库代码版本回滚方法
最近使用git时, 造成了远程库代码需要回滚到之前版本的情况,为了解决这个问题查看了很多资料. 问题产生原因: 提交了错误的版本到远程库. 以下是解决的方法, 供大家参考: 1.对本地代码库进行回滚 ...
- 关于git远程版本库的一些问题之解决
Part1:CentOS6.5免密码登录 修改/etc/ssh/sshd_config RSAAuthentication yesPubkeyAuthentication yesAuthorizedK ...
- git 版本库回滚(转载)
From:http://www.cnblogs.com/qualitysong/archive/2012/11/27/2791486.html From: http://www.tech126.com ...
- 15分钟学会使用Git和远程代码库
git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...
- 使用Git和远程代码库
git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...
随机推荐
- PDF去除签名
1.创建一个只有一页的PDF,用Acrobat打开.2.使用“文档->插入页面”,把有数字签名的文档插入到那一页后面.3.使用“文档->删除页面”,删除第一页,然后保存文档.
- 多文件的Makefile
Linux下编写一般采用gcc编译工具,但gcc无法满足大量的文件同时编译,这是就用到Makefile,首先先介绍一下gcc GCC编译的四个步骤 1.预处理,生成预编译文件(.文件): Gcc –E ...
- bzoj 4036 按位或 —— min-max容斥+FMT
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4036 min-max容斥:https://blog.csdn.net/ez_2016gdgz ...
- erlang的lists笔记
一般循环用在遍历列表的时候,erlang有lists模块直接支持遍历,不需要自己写尾递归遍历list lists:foreach 用来遍历列表,不保存结果,最后一次返回ok lists:map 遍历列 ...
- net start mongodb发生系统错误2 系统找不到指定的文件
安装mongodb时, 将mongodb 作为系统服务启动 net start mongodb,报错发生系统错误2 系统找不到指定的文件 . 查找原因是因为,系统服务的可执行文件地址有误. 修改服务地 ...
- demo 2 chart 报表
function killerrors() { return true; } window.onerror = killerrors; //检查浏览器类型 function checkBrowser( ...
- 【转】用JMeter来测试Tomcat的性能
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,最新的版本是1.9.1,大家可以到http://jakarta.apache.org/jmeter/ ...
- mydumper 找不到libmysqlclient.so.20
报错信息: mydumper: error while loading shared libraries: libmysqlclient.so.20: cannot open shared objec ...
- 5月12日上课笔记-js 弹出框、函数、程序调试、基本事件、浏览器对象模型
一.弹出框 a.提示框 alert(); b.输入框 prompt(); c.确认框 confirm(); var flag= confirm("确认删除吗?"); 二.js程序调 ...
- redis改密码
一. 如何初始化redis的密码? 总共2个步骤: a.在配置文件中有个参数: requirepass 这个就是配置redis访问密码的参数. 比如 requirepass test123 b.配置 ...