工具篇:git 分支版本回退

文章目录

  • 前言
  • [一、git comare with Revison 介绍](#一、git comare with Revison 介绍)
    • [1.1 什么是 Revision?](#1.1 什么是 Revision?)
    • [1.2 git diff 对比版本:](#1.2 git diff 对比版本:)
    • [1.3 常用场景与命令:](#1.3 常用场景与命令:)
  • [二、git comare with Revison 使用](#二、git comare with Revison 使用)
    • [2.1 获取提交版本的差异](#2.1 获取提交版本的差异)
    • [2.2 回退代码](#2.2 回退代码)
    • [2.3 提交代码:](#2.3 提交代码:)
  • 总结

前言

在开发过程中,可能出现某些已经发到线上的功能进行回退,而这一批次的功能是同一个时间提交的,并且改功能之后也没有上线其它的功能,此时可以考虑将改环境对应的代码分支,整体回退到到某个时间的commit 提交。


一、git comare with Revison 介绍

在 Git 中,"compare with Revision"(对比某个版本)是查看代码在特定提交版本之间差异的操作,核心通过 git diff 命令实现,用于追溯代码变更、定位问题或审核历史修改。

1.1 什么是 Revision?

"Revision" 指 Git 中的提交版本(commit),每个提交有唯一的标识 ------** commit ID **(如 a1b2c3d...,通常取前 7 位即可),也可以通过分支名、标签(tag)、HEAD 等引用表示。

例如:

复制代码
a1b2c3d:具体的 commit ID;
HEAD~3:当前分支最新提交往前数第 3 个版本;
v1.0:标签指向的版本;
feature-branch:某分支的最新提交版本。

1.2 git diff 对比版本:

对比两个版本(revision)的差异, 该命令会显示两个版本间所有文件的代码差异(包括新增、删除、修改的内容)。

bash 复制代码
git diff <revision1> <revision2>

1.3 常用场景与命令:

(1). 对比当前工作区与某个版本的差异

对比当前工作区(未提交的修改)与 commit ID 为 a1b2c3d 的版本

bash 复制代码
# 对比当前工作区(未提交的修改)与 commit ID 为 a1b2c3d 的版本
git diff a1b2c3d

对比当前工作区与上一个提交版本, 用途:查看当前修改与历史版本的区别,确认是否符合预期。

bash 复制代码
# 对比当前工作区与上一个提交版本(HEAD 指向当前最新提交,HEAD~1 是上一个)
git diff HEAD~1

(2). 对比两个历史版本的差异

复制代码
用途:追溯两个版本之间的代码变更,例如定位某个 bug 是在哪个版本引入的。
bash 复制代码
# 对比 a1b2c3d 和 d4e5f6g 两个版本的差异
git diff a1b2c3d d4e5f6g

# 对比标签 v1.0 和 v1.1 两个版本的差异
git diff v1.0 v1.1

# 对比当前分支最新版本与 3 个提交前的版本
git diff HEAD~3 HEAD

(3). 只显示差异文件列表(不看具体内容)

复制代码
用途:快速了解哪些文件在两个版本中被修改过。
bash 复制代码
# 只列出两个版本间有差异的文件路径
git diff --name-only a1b2c3d d4e5f6g

(4). 对比某个版本与分支的差异

复制代码
用途:查看历史版本与当前分支的区别,判断是否需要将历史修改合并到分支。
bash 复制代码
# 对比 a1b2c3d 版本与 develop 分支最新版本的差异
git diff a1b2c3d develop

(5). 对比某个文件在两个版本的差异

复制代码
用途:聚焦单个文件的历史变更,例如查看某功能在文件中的实现演变。
bash 复制代码
# 只看 Test.java 文件在 a1b2c3d 和 d4e5f6g 版本的差异
git diff a1b2c3d d4e5f6g -- src/main/java/Test.java

二、git comare with Revison 使用

2.1 获取提交版本的差异

(1) idea 中 选择项目-》右键-》git-》git comare with Revison

(2) 选择某个时间的commit:

可以选择要回退到的某个时间的commit

可以看到当前分支与选择的commit 文件的差异:

(3) 查看代码差异'':

鼠标双击某个具体的文件,可以查看具体的差异,其中 右侧的 Your Version 是你现在的版本,左侧的是你选择对比的commit

2.2 回退代码

确定要回退的代码后,选择某个文件或者ctrl+A 全选文件 ,右键-》Get 拉取到本地

2.3 提交代码:

使用 githubDestop 提交 对应的代码


总结

本文介绍使用 git compare 进行分支版本回退。

相关推荐
人工智能训练6 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
dblens 数据库管理和开发工具10 小时前
Git 指令大全(全干货版)
运维·git·ubuntu
张二娃同学12 小时前
深度学习入门篇——Github的使用和项目的导入
人工智能·git·深度学习·开源·github
SadSunset14 小时前
Git分支
git
Lewin.Lin16 小时前
git安装与gitee教程
git·gitee
C_心欲无痕17 小时前
git - 版本回退的两种方式
git
QQ_43766431419 小时前
阿里云简单配置gdb+git
git·阿里云
CNRio19 小时前
Day 35:Git的分支管理:理解分支的创建、切换与合并
大数据·git·elasticsearch
SadSunset19 小时前
Git远程协作
git
SadSunset20 小时前
Git简介
git