提交退回

简介: git reset 命令用于将当前HEAD复位到指定状态。简单来说就是,回退你已提交的 commit,并将 commit 的修改内容放回到暂存区。

git reset 命令用于将当前HEAD复位到指定状态。简单来说就是,回退你已提交的 commit,并将 commit 的修改内容放回到暂存区。

一般我们在使用 reset 命令时,git reset --hard 会被提及的比较多,它能让 commit 记录强制回溯到某一个节点。而 git reset --soft 的作用正如其名,--soft (柔软的) 除了回溯节点外,还会保留节点的修改内容。

应用场景

  1. 提交信息不小心写了个错别字
  2. 将不属于本次提交范畴内的文件提交了

命令使用

现在我们要退回最近一次的提交:

使用命令:

git reset --soft HEAD^

# or

git reset --soft <commitID>

使用git reset --soft 后,将回到你点击确定提交前的状态,此时你更改的代码会留在暂存区,提交信息也会存在,只等你再次按下提交按钮。

以上说的是还未 push 的commit。对于已经 push 的 commit,也可以使用该命令,不过再次 push 时,由于远程分支和本地分支有差异,需要强制推送 git push -f 来覆盖被 reset 的 commit。

还有一点需要注意,在 reset --soft 指定 commit 号时,会将该 commit 到最近一次 commit 的所有修改内容全部恢复,而不是只针对该 commit。该操作导致的问题就是你需要重新编写这几次的提交信息。

使用命令查看进三次的提交:

git log --pretty=online -3

--pretty=online 会美化输出的提交信息,-3 输出最近的三条提交记录,是 -n 3参数的简写。 如下图:

现在将提交信息为 a 的提交退回。复制出 commit ID进行回退:

git reset --soft 225772480c8658837199ccadd7bd0cff787cebc0

 此时HEAD指向了a,b,c 回到了暂存区,

目录
相关文章
|
缓存 安全 Go
浅谈Golang线程安全的sync.Map
浅谈Golang线程安全的sync.Map
204 0
|
程序员 Shell Linux
01 python - 历史起源
01 python - 历史起源
268 0
|
人工智能 自然语言处理 数据库
AI - RAG架构
AI-RAG架构
670 0
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
云上一键部署 DeepSeek-V3 模型,阿里云 PAI-Model Gallery 最佳实践
本文介绍了如何在阿里云 PAI 平台上一键部署 DeepSeek-V3 模型,通过这一过程,用户能够轻松地利用 DeepSeek-V3 模型进行实时交互和 API 推理,从而加速 AI 应用的开发和部署。
|
10月前
|
存储 Java API
SpringBoot整合Flowable【02】- 整合初体验
本文介绍了如何基于Flowable 6.8.1版本搭建工作流项目。首先,根据JDK和Spring Boot版本选择合适的Flowable版本(7.0以下)。接着,通过创建Spring Boot项目并配置依赖,包括Flowable核心依赖、数据库连接等。然后,建立数据库并配置数据源,确保Flowable能自动生成所需的表结构。最后,启动项目测试,确认Flowable成功创建了79张表。文中还简要介绍了这些表的分类和常用表的作用,帮助初学者理解Flowable的工作原理。
2000 0
SpringBoot整合Flowable【02】- 整合初体验
|
开发者 Python
小游戏实战丨基于Tkinter的五子棋小游戏
小游戏实战丨基于Tkinter的五子棋小游戏
283 4
|
8月前
|
人工智能 数据可视化 安全
2025年销售自动化工具选型指南
本文探讨了企业在数字经济时代选择合适CRM系统的重要性,分析了选型的5大核心维度:AI能力、全流程闭环管理、生态集成能力、数据安全合规及供应商综合实力。同时对比了5家国内外CRM厂商,如Salesforce、纷享销客、Hubspot等,并指出企业常遇的3大选型误区,包括功能冗余、忽视数据迁移成本和迷信行业模板。文章强调,适合企业的CRM需与战略、管理和业务流程深度适配,而非单纯追求技术堆砌。最终提醒管理者,选择CRM时应以实际需求为导向,而非盲目迷信国际品牌。
|
算法 Linux 调度
Docker的资源限制实战篇
本文详细介绍了如何利用Docker对容器的资源进行限制,包括内存和CPU的使用。文章首先概述了资源限制的重要性及其在Linux系统中的实现原理,并强调了不当设置可能导致的风险。接着,通过一系列实战案例展示了如何具体设置容器的内存限制,包括硬性限制、动态调整以及软限制等。最后,文章还提供了限制容器CPU访问的具体方法和示例,如指定容器使用的CPU核心数和基于`--cpu-shares`参数对CPU资源进行分配。通过这些实践,读者可以更好地理解和掌握Docker资源管理技巧。
837 14
Docker的资源限制实战篇
|
人工智能 IDE 开发工具
C++中的AI编程助手添加
【10月更文挑战第16天】AI 对我们来说就是一个可靠的编程助手,给我们提供了实时的建议和解决方案,无论是快速修复错误、提升代码质量,或者查找关键文档和资源,AI 作为编程助手都能让你事半功倍。
198 1
|
12月前
|
监控 数据可视化 搜索推荐
6 款办公软件对比评测:谁在团队项目可视化管理中脱颖而出?
本文深入评测了6款办公软件,包括板栗看板、Trello、Asana、Monday.com、ClickUp和Wrike,重点分析了它们在团队项目可视化精细管理中的功能特性与优势。板栗看板以其直观的界面、便捷的任务操控、高效的团队协作和精准的数据洞察,成为中小团队快速实现项目管理可视化的理想选择。其他软件也各有千秋,适合不同规模和需求的团队使用。
335 1