如何删除远端已经推送的Commit记录???(Git版本回退)
如何删除远端已经推送的Commit记录???(Git版本回退)
简单描述
突然事件:刚刚,就在刚刚,发生误了操作。
操作描述:我把修改的文件保存错分支了,已经commit了。并且还push上去了。对,没错已经Push上去了。
事后分析:现在我就想 把远端分支里的Commit记录删掉。
结果如何:肯定是成功了。所以在此记录一下,以免有同样遭遇的小伙伴惊慌失措。
提前剧透:这里用到的核心Git命令语句是,git push origin <分支名> --force
重点分析:就是这个 --force 参数,强制推送,不管你有没有版本回退的记录。(不用这个参数,就会提示你,还有未Commit的记录,或者是什么,反正就是不让你推送)
核心思想:回退到指定的版本,再推送一下覆盖掉之前的Commit。
操作步骤:
第一步:获取到你想要回退到那个版本号的SHA1值。
第二步,使用SHA1值,进行版本回退。(reset操作)
第三步,提交到远端(--force)
具体描述:(防小白不会操作,毕竟这个问题你都找来了,哈哈)。
第一步:获取到你想要回退到那个版本号的SHA1值。
IDEA可视化操作:

小乌龟可视化操作如下:
右键,show log,选中一条,在下面区域就能看到

命令行操作如下:
git log <本地分支号 or remotes/origin/远端分支号>
第二步,使用SHA1值,进行版本回退。(reset操作)
IDEA可视化操作如下:(git小乌龟,或者是其他工具,请自行查阅如何reset)


输入commit记录对应的SHA1值即可。
Git小乌龟操作如下:

先Show log ,然后选中那条记录,右键,一步到位。
命令行操作如下:
git reset --hard <需要回退到的版本号(只需要输入前几位)>
第三步:PUSH。
命令行操作如下:
git push origin <分支名> --force
由于项目隐私问题,我没有截图。SO。问题肯定是解决了的。~
如何删除远端已经推送的Commit记录???(Git版本回退)的更多相关文章
- xcode 版本控制推送代码到远程git仓库的步骤
一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终 ...
- 【转】iOS消息推送实现过程记录
客户端代码:链接地址 服务器代码:链接地址 链接地址 这里记录下iOS消息推送实现的全过程 首先,申请秘钥. 之后进入链接地址开发者,当然你得有啊!!!!! 点击这里 如图: 下面实现创建推送证书( ...
- GIT(5)----常用命令:新分支,切换,删除,远程推送,标签,日志
常用命令 1.新分支 创建新分支:git branch <branch_name> 创建分支并切换到新的分支上:git checkout -b <branch_name> 2. ...
- git 往远端Dev推送
- git推送本地分支到远端 以及删除远端分支的 命令
git推送本地分支到远端 当前处于master分支,尝试用了git push origin warning: push.default is unset; its implicit value is ...
- 版本控制git之三-多人协作 变基 推送 拉取 删除远程分支
版本控制git之三-多人协作 wangfeng7399已关注0人评论350人阅读2019-02-20 21:33:08 如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源 ...
- git 查看、创建、切换、删除、重命名和推送分支
1.查看本地所有分支:前面有 “*” 的是当前所处的分支 $ git branch test-A * test-B 2.查看本地和远程服务器的所有分支: $ git branch -a test-A ...
- git的某些默认行为--会推送pull的内容,即使commit的时候不显示
今天一不小心又在git上犯了个大错误,用gitflow之前进行过pull分支的操作,然后用IDE选择修改的文件提交,可是推送的时候把pull的内容也推送到远程服务器了,提交的时候用git status ...
- github使用指南(2015年3月23日更新了本地创建仓库再推送到remote仓库的使用方法)
我是通过这个来学习的.个人愚笨,琢磨了半天,终于搞通了,醉了醉了,以前一直使用svn,用git确实有点水土不服.本文以如何使用git为主来展开,不涉及太多理论. git是分布式的版本管理.什么叫分布式 ...
随机推荐
- css编写规则BEM
简单来说,格式如下: .block { /* styles */ } .block__element { /* styles */ } .block--modifier { /* styles */ ...
- python极简教程04:进程和线程
测试奇谭,BUG不见. 大家好,我是谭叔. 这一场,主讲python的进程和线程. 目的:掌握初学必须的进程和线程知识. 进程和线程的区别和联系 终于开始加深难度,来到进程和线程的知识点~ 单就这两个 ...
- Android官方文档翻译 九 2.2Adding Action Buttons
Adding Action Buttons 增加动作按钮 This lesson teaches you to 这节课教给你 Specify the Actions in XML 在XML中指定动作 ...
- leetcode 986. 区间列表的交集
问题描述 给定两个由一些 闭区间 组成的列表,每个区间列表都是成对不相交的,并且已经排序. 返回这两个区间列表的交集. (形式上,闭区间 [a, b](其中 a <= b)表示实数 x 的集合, ...
- leetcode 1021. 删除最外层的括号
问题描述 有效括号字符串为空 ("")."(" + A + ")" 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的 ...
- linux新分区无法新建文件夹
问题 因为最初分区480g随便都给了home,后来发现备份以及导出系统至IOS都要另外插硬盘很麻烦.所以需要重新分区.使用装机U盘的live ubuntu20系统使用Gparted分区后,发现回到Ub ...
- elasticsearch之请求处理流程(Rest/RPC )
.Action概述 ES提供client供集群节点或java客户端访问集群用.client模块通过代理模式,将所有的操作都集成到client接口中.这样外部调用只需要初始化client就能够完成所有的 ...
- C++初始化列表各情况分析
今天回顾了下C++初始化列表的知识,接下来我对这一知识作一总结. 我们在定义了一个类的时候,需要对类的成员进行初始化.关于初始化,有两种方法,一种在初始化列表中进行,另一种就是在构造函数中进行,对于这 ...
- gin中绑定查询字符串或表单数据
package main import ( "github.com/gin-gonic/gin" "log" "time" ) type P ...
- Tomcat访问项目出现HTTP状态404-未找到,类型 状态报告 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。Apache Tomcat/9.0.40
错误提示如图,无任何消息提示,控制台也没有错误. 解决方法: IDEA,上方菜单栏点击Run–>Edit Configurations-,选择Deployment,将Application co ...