如何删除远端已经推送的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是分布式的版本管理.什么叫分布式 ...
随机推荐
- MicroPython 8266 配置
MicroPython 8266 配置 刷固件 下载固件 MicroPython - Python for microcontrollers 从以上网址下载固件,本文下载的是esp8266-20210 ...
- linux 查看端口占用情况并关闭进程
首先要搞清楚 linux 查看进程和查看端口是两个概念,一般来讲进程会有多个,而固定端口只会有一个. 1.查看进程 ,通常在使用 ps 命令后 用管道连接(ps -ef|grep xxx ) 查 ...
- [C语言基础] 数组与指针之间的引用
通过指针引用数组,通过数组引用指针,你搞明白了么?通过下面3种情形来了解一下数组和指针 Case 1. unsigned char arry[10]; unsigned char *ptr; unsi ...
- 【记录一个问题】没用任何用处的解决了libtask的context.c在32位NDK下的编译问题
32位下用ndk编译libtask出现这样的错误: [armeabi-v7a] Compile thumb : task <= context.c /Users/ahfu/code/androi ...
- Windows系统安装和office版本兼容
MSDN, I tell you 下载windows10系统各种纯净镜像.但是还是推荐使用官网修改参数显示出下载链接,下载windows10最新版. 在最近几次重做系统中,PE工具似乎无法识别从MSD ...
- SpingMVC注解式开发-处理器方法的参数(形参request等)
HttpServletRequest HttpServletResponse HttpSession 请求中所携带的请求参数
- 【Android】安卓四大组件之内容提供者
[Android]安卓四大组件之内容提供者 1.关于内容提供者 1.1 什么是内容提供者 内容提供者就是contentProvider,作用有如下: 给多个应用提供数据 类似一个接口 可以和多个应用分 ...
- Windows mysql免安装版配置。(版本号-5.6.45);
Windows mysql免安装版配置.(版本号-5.6.45); 来自对 https://blog.csdn.net/weixin_42831477/article/details/81325691 ...
- ajaxl利用json 传送数据的 三种提交方式?
一.在servlet类中添加几个javabean对象,放置数据. package com.aaa.servlet; import java.io.IOException; import java.ut ...
- C++ 子函数参数传递过程
编译环境:Visual Studio 2015 参数传递与汇编语言有很大关系.子函数传递参数主要方式有三种(这三种参数传递方式都可用用于x86汇编语言甚至其它汇编语言): 寄存器方式传递参数 存储器方 ...