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

news2025/5/10 0:36:13

文章目录

  • 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.coloradmin.cn/o/2371903.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LSB图像信息隐藏系统(MATLAB)

图像信息隐藏系统 系统概述 图像信息隐藏系统是一个基于MATLAB开发的图像隐写工具&#xff0c;采用自适应LSB&#xff08;最低有效位&#xff09;隐写算法&#xff0c;实现了信息在图像中的隐藏与提取功能。系统配备了直观的图形用户界面&#xff0c;支持图像分析、信息隐藏、…

C++GO语言微服务项目之 go语言基础语法

目录 01 变量定义 02 自增语法 03 指针 04 go不支持的语法 05 string 06 定长数组-forrange 07 动态数组追加元素 08 切片截取-copy-make介绍 09 map介绍 10 函数 11 内存逃逸 12 import 13 命令行参数-switch 14 标签与continue-goto-break配合使用 15 枚举cons…

最新字节跳动运维云原生面经分享

继续分享最新的go面经。 今天分享的是组织内部的朋友在字节的go运维工程师岗位的云原生方向的面经&#xff0c;涉及Prometheus、Kubernetes、CI/CD、网络代理、MySQL主从、Redis哨兵、系统调优及基础命令行工具等知识点&#xff0c;问题我都整理在下面了 面经详解 Prometheus …

理解 Elasticsearch 的评分机制和 Explain API

作者&#xff1a;来自 Elastic Kofi Bartlett 深入了解 Elasticsearch 的评分机制并探索 Explain API。 想获得 Elastic 认证吗&#xff1f;查看下一期 Elasticsearch Engineer 培训的时间&#xff01; Elasticsearch 拥有大量新功能&#xff0c;帮助你为你的使用场景构建最佳…

视频编解码学习三之显示器

整理自&#xff1a;显示器_百度百科&#xff0c;触摸屏_百度百科,百度安全验证 分为阴极射线管显示器&#xff08;CRT&#xff09;&#xff0c;等离子显示器PDP&#xff0c;液晶显示器LCD 液晶显示器的组成。一般来说&#xff0c;液晶显示器由以下几个部分组成&#xff1a; […

K8s网络从0到1

K8s网络从0到1 前言 K8s是一个强大的平台&#xff0c;但它的网络比较复杂&#xff0c;涉及很多概念&#xff0c;例如Pod网络&#xff0c;Service网络&#xff0c;Cluster IPs&#xff0c;NodePort&#xff0c;LoadBalancer和Ingress等等。为了帮助大家理解&#xff0c;模仿TC…

13.Excel:分列

一 分列的作用 将一个单元格中的内容拆分到两个或多个单元格当中。 二 如何使用 1.常规分列使用 注意&#xff1a;分列功能一次只能拆分一列。 长度一致或者数据间有分隔符。 补充&#xff1a;快速选择一列。 CTRL shift 向下箭头。 补充&#xff1a;中英文逗号不同。 可以先通…

计算机网络应用层(5)-- P2P文件分发视频流和内容分发网

&#x1f493;个人主页&#xff1a;mooridy &#x1f493;专栏地址&#xff1a;《计算机网络&#xff1a;自顶向下方法》 大纲式阅读笔记_mooridy的博客-CSDN博客 &#x1f493;本博客内容为《计算机网络&#xff1a;自顶向下方法》第二章应用层第五、六节知识梳理 关注我&…

Gin优雅关闭 graceful-shutdown

文章目录 优雅关闭示例 - Close 方法项目结构使用方法代码如下代码说明如果去掉代码中的数字1&#xff0c;会发生什么 优雅关闭示例项目结构使用方法使用上下文通知不使用上下文通知 代码 notify-without-context-server.go代码说明 代码 notify-with-context-server.go代码说明…

五子棋html

<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8" /> <meta name"viewport" content"widthdevice-width, initial-scale1" /> <title>五子棋游戏</title> <style>bo…

JavaWeb:后端web基础(TomcatServletHTTP)

一、今日内容 二、Tomcat 介绍与使用 介绍 基本使用 小结 配置 配置 查找进程 三、Servlet 什么是Servlet 快速入门 需求 步骤 1.新建工程-模块&#xff08;Maven&#xff09; 2.修改打包方式-war 3.编写代码 /*** 可以选择继承HttpServlet*/ WebServlet("/hello&q…

缓存(1):三级缓存

三级缓存是指什么 我们常说的三级缓存如下&#xff1a; CPU三级缓存Spring三级缓存应用架构&#xff08;JVM、分布式缓存、db&#xff09;三级缓存 CPU 基本概念 CPU 的访问速度每 18 个月就会翻 倍&#xff0c;相当于每年增⻓ 60% 左右&#xff0c;内存的速度当然也会不断…

Cursor —— AI编辑器 使用详解

Cursor - The AI Code Editor 一、Cursor 是什么&#xff1f; Cursor 是一款优秀的AI代码编辑器&#xff0c;它内置了 Deepseek-R1、GPT-4、Claude等 AI 模型。 简单说&#xff0c;就是&#xff1a;Cursor VS Code 编辑器 AI 大模型 Cursor 功能特性&#xff08;代码补全、…

Pytorch-CUDA版本环境配置

Pytorch-CUDA版本环境配置 电脑如果是Windows平台下的Nvidia GPU的用户&#xff0c;需配置Pytorch的CUDA版本&#xff0c;分为三步&#xff1a; 1. 安装或更新NVIDA显卡驱动 官方驱动下载地址&#xff1a; https://www.nvidia.cn/Download/index.aspx?langcn 2. 安装CUDA Too…

OpenCV 图形API(77)图像与通道拼接函数-----对图像进行几何变换函数remap()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 对图像应用一个通用的几何变换。 函数 remap 使用指定的映射对源图像进行变换&#xff1a; dst ( x , y ) src ( m a p x ( x , y ) , m a p y…

Spring AI 入门(持续更新)

介绍 Spring AI 是 Spring 项目中一个面向 AI 应用的模块&#xff0c;旨在通过集成开源框架、提供标准化的工具和便捷的开发体验&#xff0c;加速 AI 应用程序的构建和部署。 依赖 <!-- 基于 WebFlux 的响应式 SSE 传输 --> <dependency><groupId>org.spr…

QUIC协议优化:HTTP_3环境下的超高速异步抓取方案

摘要 随着 QUIC 和 HTTP/3 的普及&#xff0c;基于 UDP 的连接复用与内置加密带来了远超 HTTP/2 的性能提升&#xff0c;可显著降低连接握手与拥塞恢复的开销。本文以爬取知乎热榜数据为目标&#xff0c;提出一种基于 HTTPX aioquic 的异步抓取方案&#xff0c;并结合代理 IP设…

uni-app实现完成任务解锁拼图功能

界面如下 代码如下 <template><view class"puzzle-container"><view class"puzzle-title">任务进度 {{completedCount}}/{{totalPieces}}</view><view class"puzzle-grid"><viewv-for"(piece, index) in…

数据链路层(MAC 地址)

目录 一、前言&#xff1a; 二、以太网&#xff1a; 三、MAC 地址的作用&#xff1a; 四、ARP协议&#xff1a; 一、前言&#xff1a; 数据链路层主要负责相邻两个节点之间的数据传输&#xff0c;其中&#xff0c;最常见数据链路层的协议有 以太网&#xff08;通过光纤 / 网…

基于DQN的自动驾驶小车绕圈任务

1.任务介绍 任务来源: DQN: Deep Q Learning &#xff5c;自动驾驶入门&#xff08;&#xff1f;&#xff09; &#xff5c;算法与实现 任务原始代码: self-driving car 最终效果&#xff1a; 以下所有内容&#xff0c;都是对上面DQN代码的改进&#…