Git撤销已经push到远程分支的commit

news/2025/2/12 17:53:57/

有时想要撤销已经push到远程仓库的commit,将代码还原为commit之前的样子,应该如何做呢?

如果只有自己使用的分支:可以使用git reset命令

git log 查看需要还原的commitId,如下截图,

我们需要撤销ffe4a的提交,即将代码还原到3082966的commitId上


回退代码

执行git reset --soft commitId,soft可以换为hard,但两者有区别

  • soft:表示会保留当前工作区,即保留commit前修改的内容
  • hard:表示会撤销工作区内容,即不保留commit前修改内容

撤销后再次git log查看是否撤销成功

覆盖远程分支git push origin 分支名 --f 即可

如果是两人共同开发这个分支,那么使用reset去回退是有问题的,如果他人本地仓库的代码比远程仓库代码新,他人此时拉取代码的话,是不能拉到你回退后的代码的,就算他人pull代码,你的提交记录依旧在, 而且如果他人有了新的修改进行了提交,你回退的版本又会重新出现。

这时候我们可以使用git revert 命令

git revert commitId 来撤销某次commit

再git pull origin 分支名称 -f 下即可


http://www.ppmy.cn/news/1184623.html

相关文章

Ubuntu服务器中java -jar 后台运行Spring Boot项目

问:我在我的服务器中java -jar 运行springboot项目,但是我操作不了命令了,必须要终止掉才能执行后面的操作,怎么样才能让他后台运行呢?比如我的jar包名是tools-boot-0.0.1-SNAPSHOT.jar 使用nohup命令: 在…

MySQL(2):环境搭建

1.软件下载 软装去官网下载(社区版):https://downloads.mysql.com/archives/installer/(历史版本可选) 选择下面的,一步到位 2.软件安装 双击 .msi 文件 选完 Custom 自定义后点 next 按 1&#xff0c…

Spring Cloud Gateway + Knife4j 4.3 实现微服务网关聚合接口文档

目录 前言Spring Cloud 整合 Knife4jpom.xmlapplication.ymlSwaggerConfig.java访问单服务接口文档 Spring Cloud Gateway 网关聚合pom.xmlapplication.yml访问网关聚合接口文档 接口测试登录认证获取登录用户信息 结语源码 前言 youlai-mall 开源微服务商城新版本基于 Spring…

【C语言】strcpy()函数(字符串拷贝函数详解)

🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.strcpy()函数简介 1.函数功能 2.函数参数 1>.char * destination 2>.const char * source 3.函数返回值 4.函数头文件 二.strcpy()函数的具体使用 1.使用s…

JavaEE-博客系统1(数据库和后端的交互)

本部分内容包括网站设计总述,数据库和后端的交互; 数据库操作代码如下: -- 编写SQL完成建库建表操作 create database if not exists java_blog_system charset utf8; use java_blog_system; -- 建立两张表,一个存储博客信息&am…

7.多线程之单例模式

单例模式 文章目录 单例模式1. 什么是单例模式2. 饿汉模式3. 懒汉模式3.1 单线程版:3.2 多线程版 1. 什么是单例模式 单例模式是一种设计模式,常见的设计模式还有工厂模式、建造者模式等。 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码…

Vue $nextTick 模板解析后在执行的函数

this.$nextTick(()>{ 模板解析后在执行的函数 })

使用信号管理Nginx的父子进程

Nginx是一个多进程程序,进程之间进行通讯可以使用共享内存和信号等。做进程管理时,只能使用信号。 能够接受命令的有三者: Master进程 Work进程 nginx命令行 Master进程 可以监控Worker进程发来的CHLD信号。 管理worker进程可以接受的命令&a…