【Git】【commit】查看未推送的提交查看指定commit的修改内容合并不连续的commit

文章目录

  • 1. 查看未推送的提交
    • 方法一 :git status
    • 方法二:git log
    • 方法三:git cherry
    • 方法四:git rev-list
  • 2. 查看指定commit的修改
    • 方法一:git show
    • 方法二:git log
    • 方法三:git diff
  • 3. 合并不连续的提交
    • step1 : 启动交互式变基
    • step2 : 调整提交顺序
    • step3 : 合并提交
    • step4 : 解决冲突并提交
    • 示例

1. 查看未推送的提交

方法一 :git status

若回显内容如下,则表示本地有未推送的提交:1 commit表示没有推送的提交数量

Your branch is ahead of 'origin/main' by 1 commit.(use "git push" to publish your local commits)

方法二:git log

查看本地是否有未推送的提交:

git log origin/main..HEAD
# origin/main为远程分支名称

若回显内容为空,则表示本地所有的提交均已推送;若回显有内容,则为未推送的提交

方法三:git cherry

如下命令可列出未推送的提交:

git cherry -v origin/main
# -v : 显示提交的详细信息

回显结果中的提交即为未推送的提交

方法四:git rev-list

git rev-list可以统计为推送的提交数量:

git rev-list --count origin/main..HEAD

回显的数字即表示未推送的提交数量。

2. 查看指定commit的修改

方法一:git show

显示指定commit的日期、作者、提交信息以及文件更改的差异:

git show <commitid>
# 选项
git show --stat <commitid> : 仅显示修改的文件和行数统计
git show <commitid>:<path-to-file> : 查看特定文件的变更

方法二:git log

在提交历史中显示该commit的详细信息以及差异:

git log -p -1 <commitid>
-p : patch,表示显示差异
-1 : 表示仅显示一个提交

方法三:git diff

比较当前commit与其父commit的差异:

git diff <commitid>^ <commitid>

3. 合并不连续的提交

可以使用交互式变基调整提交顺序并合并:

step1 : 启动交互式变基

git rebase -i HEAD~N # N要足够大,能包含目标提交
git rebase -i <commitid>^ # 或者指定更早的提交点

step2 : 调整提交顺序

编辑器中显示的提交内容假设如下:

pick a1b2c3d Commit 1
pick e4f5g6h Commit 2
pick i7j8k9l Commit 3

将要合并的提交移动到相邻位置:

pick a1b2c3d Commit 1
pick i7j8k9l Commit 3  # 移动
pick e4f5g6h Commit 2 

step3 : 合并提交

将排在第二位的提交的命令从pick改为squash(保留提交信息)或fixup(丢弃提交信息)

pick a1b2c3d Commit 1
squash i7j8k9l Commit 3  # 合并到前一个提交
pick e4f5g6h Commit 2

step4 : 解决冲突并提交

保存并退出编辑器,git启动合并,若此时出现冲突则解决冲突后执行:

git add .
git rebase --continue

最后,如果使用squash则编辑最终的提交信息。

示例

# 假设要合并 a12345(新)和 b12345(旧)
git rebase -i a12345^ # 从目标提交之前开始
# 在编辑器中将 b12345 移动到 a12345 的下一行并改为squash
# 解决冲突

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

神经网络—感知器、多层感知器

文章目录 前言一、生物神经元与感知器的类比二、感知器1、简单感知器2、多层感知器&#xff08;1&#xff09;多层感知机结构 3、神经网络结构 总结1、感知器的局限性如何突破感知器的局限性&#xff1f; 2、感知器的应用 前言 感知器&#xff08;Perceptron&#xff09;是神经…

C++:扫雷游戏

一.扫雷游戏项目设计 1.文件结构设计 首先我们要先定义三个文件 ①test.c //文件中写游戏的测试逻辑 ②game.c //文件中写游戏中函数的实现等 ③game.h //文件中写游戏需要的数据类型和函数声明等 2.扫雷游戏的主体结构 使⽤控制台实现经典的扫雷游戏 •游戏可以通过菜单…

k8s的pod挂载共享内存

k8s的pod挂载共享内存&#xff0c;限制不生效问题&#xff1a; 注&#xff1a;/dev/shm 是 Linux 系统中用于共享内存的特殊路径。通过将 emptyDir 的 medium 设置为 Memory&#xff0c;可以确保 /dev/shm 正确地挂载到一个基于内存的文件系统&#xff0c;从而实现高效的共享内…

【Linux学习笔记】基础IO之理解文件

【Linux学习笔记】基础IO之理解文件 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Linux学习笔记 前言 哈喽&#xff0c;各位小伙伴大家好!上期我们讲了进程替换 今天我们讲的是基础IO之理解文件。话不多说&#xff0c;我们进入正题&#…

XL32F001国产低成本单片机,24MHz主频,24KB Flash,3KB SRAM

XL32F001 是一颗基于ARM Cortex-M0内核的32 位微控制器&#xff0c;专为低成本、低功耗、小型化嵌入式系统设计&#xff0c;适合对资源需求中等但强调性价比和能效的场景。主频可达24M&#xff0c;内存方面有24KB Flash和3KB SRAM&#xff0c;适用于资源需求不大的应用场景。1.…

Oracle免费认证来袭

1、Oracle Cloud Infrastructure 2025 Foundations Associate” &#x1f517; 考证地址&#xff1a;https://mylearn.oracle.com/ou/exam-unproctored/oracle-cloud-infrastructure-2025-foundations-associate-1z0-1085-25/148056/241954 2、Oracle Cloud Infrastructure 2…

C++ 完美转发

C 完美转发逐步详解 1. 问题背景与核心目标 在 C 模板编程中&#xff0c;若直接将参数传递给其他函数&#xff0c;参数的 值类别&#xff08;左值/右值&#xff09;和 类型信息&#xff08;如 const&#xff09;可能会丢失。例如&#xff1a; template<typename T> voi…

第2章 算法分析基础

2-1 算法的时间复杂度分析 2.1.1 输入规模与基本语句 输入规模&#xff1a;算法处理数据的规模&#xff0c;通常用 n 表示。 基本语句&#xff1a;执行次数与输入规模直接相关的关键操作。 例2.1 顺序查找 int SeqSearch(int A[], int n, int k) { for (int i 0; i < n…

4.系统定时器基本定时器

目录 系统定时器 系统定时器&#xff08;systick&#xff09;--内核 系统定时器结构 系统滴答定时器寄存器--内核 定时周期的确定公式 配置滴答定时器 系统定时器应用 应用1.定时器构造时间点任务&#xff0c;解决while循环阻塞问题 应用2.定时器构造精准的ms延时 应…

基于SpringBoot和PostGIS的应急运输事件影响分析-以1.31侧翻事故为例

目录 前言 一、技术实现路径 1、需要使用的数据 2、空间分析方法 二、相关模块设计与实现 1、运输路线重现开发 2、事故点影响范围实现 3、WebGIS可视化实现 三、讨论 1、界面结果展示 2、影响范围分析 四、总结 前言 在交通运输发达的当今社会&#xff0c;应急运输…

Python爬虫(20)Python爬虫数据存储技巧:二进制格式(Pickle/Parquet)性能优化实战

目录 背景介绍一、二进制存储的核心优势二、Python Pickle&#xff1a;轻量级对象序列化1. 基本介绍2. 代码示例3. 性能与局限性 三、Apache Parquet&#xff1a;列式存储的工业级方案1. 基本介绍2. 代码示例&#xff08;使用PyArrow库&#xff09;3. 核心优势 四、性能对比与选…

C++从入门到实战(十三)C++函数模板与类模板初阶讲解

C从入门到实战&#xff08;十三&#xff09;C函数模板与类模板初阶讲解 前言一、为什么需要模板1. 函数重载的问题2. 泛型编程和模板的作用 二、函数模板2.1 函数模板格式2.2 函数模板的原理2.3 函数模板的实例化&#xff08;1&#xff09;隐式实例化&#xff1a;&#xff08;2…