提交退回

简介: 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 回到了暂存区,

目录
相关文章
|
人工智能 自然语言处理 数据库
AI - RAG架构
AI-RAG架构
441 0
|
程序员 Shell Linux
01 python - 历史起源
01 python - 历史起源
226 0
|
6月前
|
IDE 程序员 Go
鸿蒙开发 HarmonyOS DevEco Studio 常用快捷键
本文介绍了 HarmonyOS开发中常用的 DevEco Studio快捷键,帮助开发者提升效率。内容涵盖编辑、查找替换、编译运行、调试及其他功能的快捷键操作,适用于 Win 和 Mac 系统。例如,`Ctrl + E`(快速切换文件)、`Shift + F10`(运行程序)和 `F8`(单步调试)等常用组合。由黑马程序员整理,欢迎补充或修正!
534 5
鸿蒙开发 HarmonyOS DevEco Studio 常用快捷键
|
JavaScript 前端开发 IDE
TypeScript中的声明文件(.d.ts):扩展类型系统
TypeScript的`.d.ts`声明文件为JS库提供类型信息,增强IDE支持,如自动完成和类型检查。通过声明合并,可在全局作用域定义类型。示例包括为`my-library`创建声明模块,导出函数和接口。声明文件通常存于`@types`或指定`typeRoots`。用于旧JS代码的类型注解,如`myGlobalObject`。学习更多,参阅TypeScript官方文档。分享你的TS声明文件经验!
433 1
|
9月前
|
传感器 物联网 数据挖掘
新技术趋势与应用:物联网与虚拟现实的未来发展###
随着科技的迅猛发展,物联网(IoT)和虚拟现实(VR)已成为引领未来的重要技术趋势。本文旨在探讨这两项新兴技术的发展趋势和应用场景,通过分析当前技术现状、挑战及未来前景,揭示物联网和虚拟现实在各领域的潜在影响和应用价值。研究表明,物联网在智能家居、智慧城市、工业自动化等方面具有广泛的应用前景;而虚拟现实则在游戏娱乐、教育培训、医疗健康等领域展现出巨大的潜力。本文认为,随着技术的不断进步,物联网和虚拟现实将深度融合,为社会经济发展带来新的机遇和挑战。 ###
450 59
|
开发者 Python
小游戏实战丨基于Tkinter的五子棋小游戏
小游戏实战丨基于Tkinter的五子棋小游戏
219 4
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用合集之如何对数据加密解密
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
Dart
Flutter笔记:手动配置VSCode中Dart代码自动格式化
Flutter笔记:手动配置VSCode中Dart代码自动格式化
1321 5
|
开发工具 C++ Windows
error LNK1104: 无法打开文件“MSCOREE.lib”
error LNK1104: 无法打开文件“MSCOREE.lib”
263 0
|
NoSQL Java Redis
【Spring Boot 源码学习】RedisAutoConfiguration 详解
本篇 Huazie 带大家一起从源码深入了解 RedisAutoConfiguration 配置类
287 2
【Spring Boot 源码学习】RedisAutoConfiguration 详解