如何删除远端已经推送的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版本回退)的更多相关文章

  1. xcode 版本控制推送代码到远程git仓库的步骤

    一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终 ...

  2. 【转】iOS消息推送实现过程记录

    客户端代码:链接地址 服务器代码:链接地址  链接地址 这里记录下iOS消息推送实现的全过程 首先,申请秘钥. 之后进入链接地址开发者,当然你得有啊!!!!! 点击这里 如图: 下面实现创建推送证书( ...

  3. GIT(5)----常用命令:新分支,切换,删除,远程推送,标签,日志

    常用命令 1.新分支 创建新分支:git branch <branch_name> 创建分支并切换到新的分支上:git checkout -b <branch_name> 2. ...

  4. git 往远端Dev推送

  5. git推送本地分支到远端 以及删除远端分支的 命令

    git推送本地分支到远端 当前处于master分支,尝试用了git push origin warning: push.default is unset; its implicit value is ...

  6. 版本控制git之三-多人协作 变基 推送 拉取 删除远程分支

      版本控制git之三-多人协作 wangfeng7399已关注0人评论350人阅读2019-02-20 21:33:08   如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源 ...

  7. git 查看、创建、切换、删除、重命名和推送分支

    1.查看本地所有分支:前面有 “*” 的是当前所处的分支 $ git branch test-A * test-B 2.查看本地和远程服务器的所有分支: $ git branch -a test-A ...

  8. git的某些默认行为--会推送pull的内容,即使commit的时候不显示

    今天一不小心又在git上犯了个大错误,用gitflow之前进行过pull分支的操作,然后用IDE选择修改的文件提交,可是推送的时候把pull的内容也推送到远程服务器了,提交的时候用git status ...

  9. github使用指南(2015年3月23日更新了本地创建仓库再推送到remote仓库的使用方法)

    我是通过这个来学习的.个人愚笨,琢磨了半天,终于搞通了,醉了醉了,以前一直使用svn,用git确实有点水土不服.本文以如何使用git为主来展开,不涉及太多理论. git是分布式的版本管理.什么叫分布式 ...

随机推荐

  1. 帮你克服web字体选择焦虑症

    1.背景 前端时间产品经理问我,移动端web默认字体有哪些,哪些字体不侵权?我当时感觉这方面的知识很匮乏,只能回答出微软雅黑和苹方简体,平常写代码时,没怎么留意过font-family设置的字体属性, ...

  2. 使用NSSM把任意exe程序注册成Windows服务

    1.登录NSSM官网下载最新版本: http://www.nssm.cc/download 2.解压之后可以看到win32和win64位的nssm.exe,根据自己的电脑选择使用 3.拷贝一份nssm ...

  3. 《剑指offer》面试题32 - I. 从上到下打印二叉树

    问题描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印.   例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回 ...

  4. deepin20搜狗输入法使用

    放大打字框 打出中文语句符号

  5. gin框架的热加载方法

    gin是用于实时重新加载Go Web应用程序的简单命令行实用程序.只需gin在您的应用程序目录中运行,您的网络应用程序将 gin作为代理提供.gin检测到更改后,将自动重新编译您的代码.您的应用在下次 ...

  6. (1)puppet安装

    简介: 基于C/S架构的Puppet更新方式一般有两种,一种是Agent端设置同步时间主动去PuppetMaster端拉取配置,另一种是通过PuppetMaster端使用puppet kick命令或者 ...

  7. python 小兵之小技巧

    用for循环打印数字从1开始 for a in range(1,num+1): 用split切割字符串可以用索引选择部分 int(el.split("_")[1]) range 第 ...

  8. java中的线程是如何工作的。

    来自对此文章的编辑. https://mp.weixin.qq.com/s?biz=MzA5NDg3MjAwMQ==&mid=2457103451&idx=1&sn=ba302 ...

  9. What Goes Up Must Come Down

    跳转链接 题目描述 给定一个序列, 求出将此序列变换为单调递增.单调递减 或者先增后减 样例1 输入 7 3 1 4 1 5 9 2 输出 3 样例2 输入 9 10 4 6 3 15 9 1 1 1 ...

  10. 计算机网络-5-9-TCP拥塞控制

    TCP拥塞控制 拥塞控制的一般原理 在计算机网络中的链路容量(带宽),交换节点中的缓存和处理机等,都是网络的资源,在某段时间,若对网络中某一资源的需求超过该资源所能提供的可用部分,网络性能就会变坏,这 ...