撤回仓库的提交

server/2024/9/20 3:39:06/ 标签: git

结论先行

  • 未推送提交:可以使用 git reset --soft HEAD~1git reset --hard HEAD~1 来撤回提交,选择保留或丢弃修改。
  • 已推送提交:可以使用 git reset --soft HEAD~1 后,通过 git push --force 强制覆盖远程的提交记录。

问题描述

我把一个代码修改提交到了 本地的test分支上,但是我现在想撤回,不想提交了,要怎么办

解决

如果你已经将代码提交到本地的 test 分支上,但现在想撤回提交,有以下几种方式可以选择,具体取决于你是否已经推送了提交到远程仓库。

1. 撤回未推送的提交

如果你提交了代码但还没有推送到远程仓库,想要撤回,可以使用以下方法:

git_reset__15">使用 git reset 撤回提交

git reset 可以撤回最近的提交并保留修改在工作区中。

git reset --soft HEAD~1
  • --soft:撤销提交,但保留代码变更在暂存区(相当于你还没有 git add 的状态)。
  • HEAD~1:表示回退到当前提交的前一个提交。

结果:
你的提交记录会被撤销,但代码依然存在,可以继续修改或选择不提交。

git_reset_hard__28">使用 git reset --hard 完全撤销

如果你不仅想撤回提交,还想丢弃代码修改,可以使用 --hard

git reset --hard HEAD~1
  • --hard:不仅撤销提交,还会清除工作区的所有修改。

注意:
使用 --hard 会丢失未保存的修改,所以要谨慎使用。

2. 撤回已经推送到远程的提交

如果你已经将提交推送到远程仓库,还可以撤回提交,但需要使用 git push --force

git_reset__44">使用 git reset 回退并强制推送

首先,使用 git reset 撤销本地提交:

git reset --soft HEAD~1

然后,强制推送到远程仓库,覆盖已经推送的提交:

git push --force

注意:
强制推送会覆盖远程仓库的历史记录,其他开发者如果基于这些提交做了修改,可能会造成问题,所以在多人协作时需要小心使用。


总结:

  • 未推送提交:可以使用 git reset --soft HEAD~1git reset --hard HEAD~1 来撤回提交,选择保留或丢弃修改。
  • 已推送提交:可以使用 git reset --soft HEAD~1 后,通过 git push --force 强制覆盖远程的提交记录。

http://www.ppmy.cn/server/119255.html

相关文章

使用Docker挂载部署JAVA项目

用于需要使用Docker容器部署项目,但可能部署包需多次调整的场景,这种部署方式可以减少镜像制作的过程; 推荐几个使用Docker安装环境的文章: 1.Nocas: https://blog.csdn.net/weixin_44700323/article/details/140995859 2.Mysql: …

集合是什么

1.是什么 集合(Collection)是Java语言中一个非常重要的概念,它是一组对象的容器,用于存储、检索和操作对象。在Java中,集合框架定义了一系列接口和实现类,用于处理不同类型的集合。 集合的概念 集合框架提…

SpringBoot基础实战系列(二)springboot解析json与HttpMessageConverter

SpringBoot解析Json格式数据 ResponseBody 注:该注解表示前端请求后端controller,后端响应请求返回 json 格式数据前端,实质就是将java对象序列化 1.创建Controller 注:springboot默认就已经支持返回json格式数据,只需…

PCL 计算点云距离

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 顾名思义,这个就是计算点云中每个点到另一个点云最近的距离,之后我们可以基于这些距离做一些预处理工作。思路其实很简单,通过对点云构建kdtree并采用并行的方式实现该计算过程。 二、实现代码 ColorRamp.h #ifn…

果蔬识别系统性能优化之路(四)

目录 前情提要剩下问题 问题排查解决方案下一步 前情提要 果蔬识别系统性能优化之路(三) 剩下问题 同步数据库数据并初始化ivf依然要8,9秒 问题排查 通过断点加时间打印,发生其实初始化ivf的时间很快,慢的是数据在网络间的传…

redis详细解析和配置选择

Redis是一个开源的、使用ANSI C语言编写的、基于内存亦可持久化的日志型Key-Value非关系型数据库。它以其高性能、丰富的数据结构和灵活的数据模型而广受欢迎,被广泛应用于缓存、消息队列、实时数据处理等多种场景。以下是对Redis的详细解析和配置选择的详细阐述。 …

Java 23 的12 个新特性!!

Java 23 来啦!和 Java 22 一样,这也是一个非 LTS(长期支持)版本,Oracle 仅提供六个月的支持。下一个长期支持版是 Java 25,预计明年 9 月份发布。 Java 23 一共有 12 个新特性! 有同学表示&…

图书管理系统(面向对象的编程练习)

图书管理系统(面向对象的编程练习) 1.系统演示2.设计框架讲解3.代码的详细讲解3.1 多本书籍的实现3.2 不同操作人员的实现3.3 不同work操作的实现 1.系统演示 下面主要展示系统的删除图书功能和显示图书功能,帮助大家在开始写代码前先了解图…

go的学习笔记

中文标准库文档:https://studygolang.com/pkgdoc 第一段代码 所有代码的主文件都是main.go,下面的代码直接在项目里面创建main.go运行 package main // 声明文件所在的包,每个go文件必须有归属的包import "fmt" // 引入程序需要的包,为了使用包下的函数,比如Print…

Django创建模型

1、根据创建好应用模块 python manage.py startapp tests 2、在models文件里创建模型 from django.db import modelsfrom book.models import User# Create your models here. class Tests(models.Model):STATUS_CHOICES ((0, 启用),(1, 停用),# 更多状态...)add_time mode…

tp6.0.8反序列化漏洞的一些看法

更多漏洞分析的内容&#xff0c;可前往无问社区查看http://www.wwlib.cn/index.php/artread/artid/5741.html 环境搭建 composer create-project topthink/think6.0.x-dev thinkphp-v6.0 首先构造一个反序列化点 app/controller/Index.php <?php namespace app\contro…

数据结构之哈希表

哈希表(散列表) 出现的原因 在顺序表中查找时&#xff0c;需要从表头开始&#xff0c;依次遍历比较a[i]与key的值是否相等&#xff0c;直到相等才返回索引i&#xff1b;在有序表中查找时&#xff0c;我们经常使用的是二分查找&#xff0c;通过比较key与a[i]的大小来折半查找&…

Python学习——【2.1】if语句相关语法

文章目录 【2.1】if语句相关一、布尔类型和比较运算符&#xff08;一&#xff09;布尔类型&#xff08;二&#xff09;比较运算符 二、if语句的基本格式※、练习 三、if-else组合判断语句※、练习 四、if-elif-else多条件判断语句※、练习 五、判断语句的嵌套※、实战案例 【2.…

非暴力沟通

非暴力沟通是一种有效的沟通方式&#xff0c;它可以帮助我们避免语言和行为上的暴力&#xff0c;提升人际关系的质量。这种沟通方式基于四个基本步骤&#xff1a;观察、感受、需要和请求。下面我们将详细探讨这四个步骤。 观察 观察是非暴力沟通的第一个步骤&#xff0c;它要…

Quartus sdc UI界面设置(二)

Quartus sdc设置 根据一配置quartus综合简单流程&#xff08;一&#xff09; 上次文章中&#xff0c;说了自己写sdc需要配置的分类点&#xff0c;这次将说明在UI界面配置sdc。 1. 在Quartus软件中&#xff0c;导入verilog设计之后&#xff0c;打开Tools/TimeQuest Timing Ana…

在网络环境中怎么保护个人信息安全?

在网络环境中保护个人信息安全非常重要&#xff0c;以下是一些基本的建议来帮助您保护自己的个人信息&#xff1a; 使用强密码&#xff1a;确保您的所有在线账户都使用强密码。强密码通常包含大写字母、小写字母、数字以及特殊字符&#xff0c;并且长度至少为12位以上。 启用双…

ASPICE培训:打造卓越的汽车软件开发能力

随着汽车行业的快速发展和智能化技术的不断演进&#xff0c;汽车软件开发已成为汽车制造过程中不可或缺的一部分。为了确保汽车软件的质量、可靠性和安全性&#xff0c;ASPICE&#xff08;Automotive SPICE&#xff09;作为一种国际公认的汽车软件开发过程评估标准&#xff0c;…

Docker安装 ▎Docker详细讲解 ▎数据卷挂载 ▎Nginx安装理解

前言 Docker是一种容器化技术&#xff0c;简化软件的部署和管理。文章详细解释了Docker的架构、安装步骤和常用命令&#xff0c;帮助用户快速启动和管理容器。还介绍了Docker镜像命令和数据卷挂载的实例&#xff0c;增强对持久化存储的理解&#xff0c;并涵盖了Nginx的安装方法…

红帽9中nginx-源码编译php

什么是PHP-FPM&#xff1f; PHP-FPM(FastCGI Process Manager&#xff1a; FastCGI进程管理器)是一个实现了Fastcgi的程序&#xff0c;并且提供进程管理的功能。 进程包括master进程和worker进程。master进程只有一个&#xff0c;负责监听端口&#xff0c;接受来自web server 的…

34.贪心算法1

0.贪心算法 1.柠檬水找零&#xff08;easy&#xff09; . - 力扣&#xff08;LeetCode&#xff09; 题目解析 算法原理 代码 class Solution {public boolean lemonadeChange(int[] bills) {int five 0, ten 0;for (int x : bills) {if (x 5) // 5 元&#xff1a;直接收下…