阐述 Git 命令 reset 和 revert

2024-04-26 07:20
文章标签 命令 reset git 阐述 revert

本文主要是介绍阐述 Git 命令 reset 和 revert,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 概述

由于某次或某几次提交的代码污染了远程分支,需要对远程分支代码进行恢复操作,此时可以通过 git 的 reset 和 revert 命令进行恢复。

HEAD 是指向当前分支的最新提交的指针 ,每一次提交代码都会产生一个 commit id 来标识工作区的变更与改动。

2 Git Reset

git reset 的作用是将分支代码回滚到指定版本(即指定的代码提交点)上。

步骤:

(1)使用 “git log” 命令查看当前分支的提交记录。

(2)使用 “git reset --hard 某次提交的 commit id” 命令将本地的 HEAD 指向指定的版本上。

再次使用 “git log” 命令提交记录,确认本地分支的 reset 操作是否成功了。

(3)使用 “git push -f” 命令强行将变动推送到远程分支上,使远程分支的 HEAD 指向指定的版本上。

3 Git Revert

git revert 是用来删除某一次提交的内容。我们会发现在分支上面创建了一个新的 commit 提交。

步骤:

(1)使用 “git log” 命令查看当前分支的提交记录。

(2)使用 “git revert 某次提交的 commit id” 命令来删除某一个 commit 提交的内容。

当前版本与需要删除的版本之间有其他提交内容时,当都修改了同一个文件时,可能需要手动解决冲突。

(3)将本地变动推送到远程分支上。

4 总结

git reset 和 git revert 都是属于重新恢复工作区的方式,但这两种操作有着截然不同的结果:

(1)git reset 是将当前版本与指定版本之间的所有历史提交日志和提交内容全部删掉,将 HEAD 指向自己指定的提交版本,即回滚到指定版本。

(2)git revert 是只将指定的某次提交内容删除掉,不会删除历史提交日志。

如果当前版本与指定版本之间有其他提交内容时,其他提交内容和历史提交记录都不会被删除。

当指定版本与其他提交内容都修改了同一个文件时,可能需要手动解决冲突。

5 参考文献

(1)https://www.modb.pro/db/137424

这篇关于阐述 Git 命令 reset 和 revert的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/936936

相关文章

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

Git可视化管理工具(SourceTree)使用操作大全经典

《Git可视化管理工具(SourceTree)使用操作大全经典》本文详细介绍了SourceTree作为Git可视化管理工具的常用操作,包括连接远程仓库、添加SSH密钥、克隆仓库、设置默认项目目录、代码... 目录前言:连接Gitee or github,获取代码:在SourceTree中添加SSH密钥:Cl

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提