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是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...
随机推荐
- C# 导出图片到Word (通过XML实现)
private void ExportDataToWord(string content) { StringBuilder sbMain = new StringBuilder(); #region ...
- PHP面向对象(OOP)----访问限制符
访问控制修饰符指public.protected.private三个关键词来修饰类的成员属性和成员方法,可以有不同的权限 public:[共有的]类里面调用和类外面调用都是可以的 protected: ...
- 数据库的备份与恢复(oracle 11g) (转)
一. 内容与步骤 (注意这里许多步骤需要同学们查资料,理解并消化后才能完成) 1.数据库创建 (1) 安装Oralce11g: (2) 创建至少两个以上用户: (3) 每个用户 ...
- curl 无法访问 https 协议
转自http://blog.mutoo.im/2013/12/curl-could-not-communicate-with-https-sites.html mac升级为10.10以后,homebr ...
- net start mongodb发生系统错误2 系统找不到指定的文件
安装mongodb时, 将mongodb 作为系统服务启动 net start mongodb,报错发生系统错误2 系统找不到指定的文件 . 查找原因是因为,系统服务的可执行文件地址有误. 修改服务地 ...
- Oracle数据库学习笔记(一)
Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库). Instance(实例) :在Oracle Instance中主要包含了SGA以及一些进程(例如:P ...
- cinder-backup详细介绍
首先介绍Snapshot snapshot可以为volume创建快照,快照中保存了volume当前的状态,此后可以通过snapshot回溯 主要采用了Copy On Write算法.进行快照时,不牵涉 ...
- ceph中用sgdisk工具进行分区--------固定uuid
ceph中两种类型分区的type code: type type code journal 45b0969e-9b03-4f30-b4c6-b4b80ceff106 osd 4fbd7e29-9d25 ...
- Python小知识点(4)--模块相关
1.模块: 定义:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test). 包:用来从逻辑上组 ...
- 系统键盘按钮keyCode大全
字母和数字键的键码值(keyCode) 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 ...