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是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...
随机推荐
- vs2013 快捷键
//////////////// 编辑: ctrl+-(shift+ctrl+-):移动光标到上次位置或相反,比如定位一个函数,转到函数定义后想回到函数使用处,则用ctrl+-,若又想回到函数 ...
- 查找大文件 & 索引节点(inode)爆满 解决办法
经常遇到磁盘满或者文件节点满的情况,整理如下 查找大文件 查找超过某个大小的文件, 如1G find . -type f -size +1G 查找文件大小的时候,现实文件属性 find . -type ...
- caddy server 几个常用插件
1.log日志 log /var/www/log/example.log 2.目录访问 browse 3.gzip压缩 gzip 4.自主ssl证书 tls /path/ssl/exa ...
- UNIX简化路径
Given an absolute path for a file (Unix-style), simplify it. For example, path = “/home/”, => “/h ...
- ubuntu12.04LTS安装以及卸载 QT4.8.6和QT creator2.5.2
鉴于,下载QT5.5安装,编译总是有问题,可能是配置不正确. 于是按照论坛的一些资料,就换回QT4版本,具体实施步骤如下: 在qt官网http://download.qt.io/archive/ 下的 ...
- sqlzoo练习题答案
title: SQL-Learning date: 2019-03-12 20:37:21 tags: SQL --- 这是关于在一个SQL学习网站的练习题答案记录:SQL教程 SQL基础 由一些简单 ...
- c# winform委托的使用
可参考http://bbs.csdn.net/topics/390377875中使用new Action<>的使用方式,替代delegate的申明. public delegate voi ...
- celery制作定时任务
celery参考地址:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#starting-the-schedu ...
- ubuntu :扩充虚拟机的磁盘容量
前言: 开始建立虚拟机的时候给的容量是20G,给了10G的交换空间,所以后来有点不够用了,现在安装软件会出现提示磁盘空间不足,所以需要扩充一下磁盘的容量. 步骤: 1.因为我用的是Vmware ...
- Unit04: 实战技巧 、 登录
Unit04: 实战技巧 . 登录 使用注解方式简化Unit04的小程序. 1. 基于注解的springmvc应用程序的开发 (1)编程步骤 step1. 导包. step2. 添加spring配置文 ...