Git 查看修改记录 二

Git 查看修改记录 二

续接 Git 查看一个文件的修改记录 一

一、修改 A.txt

修改 A.txt

number=6

执行命令

git add .
git commit -a -m "修改 number=6"
# git commit -a -m "修改 number=6" 执行 输出如下
# $ git commit -a -m "修改 number=6"
# [master_2 e84921c] 修改 number=6
#  1 file changed, 1 insertion(+), 1 deletion(-)git push
二、强制回退到上一个提交

执行命令

# 将 HEAD 指针回退到上一个提交
git reset HEAD~1
# 输出如下
# Unstaged changes after reset:
# M       A.txt

此时 A.txt 状态是修改中
此时 A.txt 的内容就是 number=6
因为 git reset HEAD~1 将 HEAD 回退到了上一个提交,那此时 A.txt 的修改还没有提交

执行命令

# 将 A.txt 的修改丢弃
git checkout .
三、推送到远端

执行命令

$ git push
To github.com:LIQIANGEASTSUN/JenkinsTest.git! [rejected]        master_2 -> master_2 (non-fast-forward)
error: failed to push some refs to 'github.com:LIQIANGEASTSUN/JenkinsTest.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. If you want to integrate the remote changes,
hint: use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

push 失败,意思是当前分支落后远端分支,需要先执行 git pull
此时如果执行 git pull 再执行 push 是正确流程

此处展示一个错误的示范
不执行 git pull

$ git push origin master_2 --force
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To github.com:LIQIANGEASTSUN/JenkinsTest.git+ e84921c...4b59d0b master_2 -> master_2 (forced update)

强制推送到远端: 由于已经重置了本地的提交历史,需要强制推送到远端

四、查看修改记录

执行命令

git log

输出如下

commit 4b59d0be1c4530355f19f34a1c85dc68b0192e37 (HEAD -> master_2, origin/master_2)
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:41:56 2025 +0800修改number=5commit 020a6d24b731791f0729667b2c8788cedd04a5a4
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:41:30 2025 +0800修改number=4commit 347414f7c14876a8fcd58f57b3b76866c7c55e0d
commit 4b59d0be1c4530355f19f34a1c85dc68b0192e37 (HEAD -> master_2, origin/master_2)
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:41:56 2025 +0800修改number=5commit 020a6d24b731791f0729667b2c8788cedd04a5a4
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:41:30 2025 +0800修改number=4commit 347414f7c14876a8fcd58f57b3b76866c7c55e0d
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:41:02 2025 +0800修改number=3commit ca103f51961e12919c1ce16a83b537cb0c31f7cd
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:40:33 2025 +0800修改number=2commit 075bd5a9b33b2c32b3478dcbab9891bf00124a58
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 10:39:58 2025 +0800添加 A.txt 第一次提交

发现之前的提交 “修改 number=6” 找不到了
到 SourceTree上看下
在这里插入图片描述
SourceTree上也没有 “修改 number=6” 的记录

到 TortoiseGit 上看 看log
选中文件 右键 弹窗选择 TortoiseGit -> Show log
在这里插入图片描述
TortoiseGit 上也没有 “修改 number=6” 的记录

执行 git push origin master_2 --force 强制推送,确实是能推送成功,但是它销毁了一些提交记录

五、找提交记录

执行命令

git reflog
# 输出日志如下
4b59d0b (HEAD -> master_2, origin/master_2) HEAD@{0}: reset: moving to HEAD~1
e84921c HEAD@{1}: commit: 修改 number=6
4b59d0b (HEAD -> master_2, origin/master_2) HEAD@{2}: commit: 修改number=5
020a6d2 HEAD@{3}: commit: 修改number=4
347414f HEAD@{4}: commit: 修改number=3
ca103f5 HEAD@{5}: commit: 修改number=2
075bd5a HEAD@{6}: commit: 添加 A.txt 第一次提交

可以看到 e84921c HEAD@{1}: commit: 修改 number=6 其中 e84921c 就是这个提交的 Hash
还可以看到 之后又执行了一次 reset: moving to HEAD~1

执行命令

$ git show e84921c
commit e84921caa1808b6b1ad9bc9d98ef57d6402399b6
Author: liqiang <liqiangeastsun@163.com>
Date:   Fri Feb 14 12:25:55 2025 +0800修改 number=6diff --git a/A.txt b/A.txt
index 14551e5..2e2054b 100644
--- a/A.txt
+++ b/A.txt
@@ -1,3 +1,3 @@-number = 5
\ No newline at end of file
+number = 6
\ No newline at end of file

从日志可以看到这条提交的完整 commit e84921caa1808b6b1ad9bc9d98ef57d6402399b6
这条提交修改了 A.txt
将 number 从 number = 5 修改为 number = 6

如果想恢复 这条提交 请看 Git 回滚 checkout、reset、revert

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软AutoGen高级功能——Magentic-One

介绍 大家好&#xff0c;博主又来给大家分享知识了&#xff0c;这次给大家分享的内容是微软AutoGen框架的高级功能Magentic-One。那么它是用来做什么的或它又是什么功能呢&#xff0c;我们直接进入正题。 Magentic-One Magnetic-One是一个通用型多智能体系统&#xff0c;用于…

Unity中自定义协程的简单实现

在 Unity 中&#xff0c;协程&#xff08;Coroutine&#xff09;是一种非常强大的工具&#xff0c;它允许我们在不阻塞主线程的情况下&#xff0c;将代码的执行分成多个步骤&#xff0c;在不同的帧中执行。 Unity中协程实现原理 迭代器与状态机&#xff1a;本质上是基于C#的迭…

数值积分:通过复合梯形法计算

在物理学和工程学中&#xff0c;很多问题都可以通过数值积分来求解&#xff0c;特别是当我们无法得到解析解时。数值积分是通过计算积分区间内离散点的函数值来近似积分的结果。在这篇博客中&#xff0c;我将讨论如何使用 复合梯形法 来进行数值积分&#xff0c;并以一个简单的…

【Linux】--- 基础开发工具之yum/apt、vim、gcc/g++的使用

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; Linux网络编程 本篇博客我们来认识一下Linux中的一些基础开发工具 --- yum,vim,gcc/g。 &#x1f3e0; yum &#x1f3b8; 什么是yum 当用户想下载软…

DeepSeek教unity------MessagePack-02

内置支持类型&#xff1a; 对象序列化 MessagePack for C# 可以序列化你自己定义的公共类或结构体类型。默认情况下&#xff0c;可序列化的类型必须用 [MessagePackObject] 属性进行注解&#xff0c;成员需要用 [Key] 属性进行注解。键可以是索引&#xff08;整数&#xff09;…

deepseek部署在本地详细教程

最近&#xff0c;DeepSeek爆火&#xff0c;先进的算法、卓越的能力&#xff0c;表现出众&#xff0c;其凭一己之力推动国内Ai大模型跨越式发展。作为一款现象级的Ai产品&#xff0c;用户量暴增&#xff0c;最近服务器又被攻击&#xff0c;使用DeepSeek&#xff0c;经常出现服务…

修改OnlyOffice编辑器默认字体

通过Docker修改OnlyOffice编辑器默认字体 问题描述详细方案1. 删除原生字体文件2. 创建字体目录3. 复制字体文件到容器中4. 执行字体更新脚本5. 重新启动容器 注意事项 问题描述 在OnlyOffice中&#xff0c;编辑器的默认字体可能不符合公司或个人的需求&#xff0c;通常会使用…

Vue学习笔记4

Vue学习笔记 一、自定义创建项目 基于VueCli自定义创建项目架子 二、vuex基本认知 1、vuex概述 是什么&#xff1a;是vue的状态管理工具&#xff08;插件&#xff09;&#xff0c;状态就是数据 大白话&#xff1a;vuex是一个插件&#xff0c;可以帮助我们管理vue通用的数…

文心一言4月起全面免费,6月底开源新模型:AI竞争进入新阶段?

名人说&#xff1a;莫听穿林打叶声&#xff0c;何妨吟啸且徐行。—— 苏轼 Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、文心一言免费化的背后&#xff1a;AI成本与应用的双重驱动1️⃣成本下降&#xff0c;推动文心一言普及2…

SSM课设-学生选课系统

【课设者】SSM课设-学生选课系统 分为 管理员 和 老师 和 学生端 技术栈 前端: HtmlCssJavaScriptAjax 后端: Spring、Spring MVC、MyBatis、MySQL、JSP 学生端 --选课 选课 搜索 --查看选课结果 --退选 --查看已修课程 --管理个人信息 老师端 --添加教学课程 添加 …

LabVIEW外腔二极管激光器稳频实验

本项目利用LabVIEW软件开发了一个用于外腔二极管激光器稳频实验的系统。系统能够实现激光器频率的稳定控制和实时监测&#xff0c;为激光实验提供了重要支持。 项目背景&#xff1a; 系统解决了外腔二极管激光器频率不稳定的问题&#xff0c;以满足对激光器频率稳定性要求较高…

windows,docker停止所有容器

CMD命令窗口 你可以尝试使用以下命令来停止所有正在运行的Docker容器&#xff1a; FOR /f "tokens*" %i IN (docker ps -q) DO docker stop %i这条命令的工作原理是&#xff1a; docker ps -q 列出所有正在运行的容器的ID。 FOR /f "tokens*" %i IN (c…

RedHat8安装postgresql15和 postgis3.4.4记录及遇到的问题总结

安装包对照版本参考 UsersWikiPostgreSQLPostGIS – PostGIS 如果Red Hat系统上有旧版本的PostgreSQL需要卸载 在较新的Red Hat版本&#xff0c;使用dnf包管理器卸载&#xff1a;sudo dnf remove postgresql-server postgresql 旧版本&#xff0c;使用yum包管理器卸载 sudo y…

DBeaver clickhouse 时区不对 时间少了8小时

选择DataBase选择Driver Manager选择clickhouse数据库点中之后&#xff0c;选择编辑添加两个全局属性 use_server_time_zone use_time_zone 鼠标移动到User Properties上&#xff0c;右键即可添加一列空白 然后断开重连

【vscode】VScode Remote SSH配置

VScode使用remote ssh 到服务器上的Docker容器中 1. 配置远程服务器docker容器的端口映射&#xff0c;例如将服务器的2222端口映射到container的22端口(默认) 1.1 在容器系统的sshd_config文件中配置参数 #配置文件 vim /etc/ssh/sshd_config #打开端口号 Port 221.2 建立容…

光谱相机在天文学领域的应用

天体成分分析 恒星成分研究&#xff1a;恒星的光谱包含了其大气中各种元素的吸收和发射线特征。通过光谱相机精确测量这些谱线&#xff0c;天文学家能确定恒星大气中氢、氦、碳、氮、氧等元素的含量。如对太阳的光谱分析发现&#xff0c;太阳大气中氢元素占比约 71%&#xff0…

MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案

项目场景 有时候&#xff0c;遇到数据库重复数据&#xff0c;需要将数据进行分组&#xff0c;并取出其中一条来展示&#xff0c;这时就需要用到group by语句。 但是&#xff0c;如果mysql是高版本&#xff0c;当执行group by时&#xff0c;select的字段不属于group by的字段的…

Unity 全部版本下载存档【需要梯子】

首先 挂一个非cn的梯子&#xff08;因为实测港澳不行&#xff0c;会跳转到cn官网&#xff09; 然后打开这个网址&#xff1a; Download Archive 最后打开你的Unity Hub 点击下载就可以自动跳转到Hub里下载了

同为科技智能PDU助力Deepseek人工智能和数据交互的快速发展

1 2025开年&#xff0c;人工智能领域迎来了一场前所未有的变革。Deepseek成为代表“东方力量”的开年王炸&#xff0c;不仅在国内掀起了技术热潮&#xff0c;并且在全球范围内引起了高度关注。Deepseek以颠覆性技术突破和现象级应用场景席卷全球&#xff0c;这不仅重塑了产业格…