哇哦,Git居然还能这样玩~

简介: 哇哦,Git居然还能这样玩~

本文的主要围绕着下面这些问题展开的,在阅读之前可以先自己思考一下问题的答案是什么?

  • • 如何修改以前的message信息?
  • • 如何合并连续的以及不连续的commit记录?

以下操作适合提交到本地仓库,未推送到远程仓库时使用,否则多人合作开发时,可能会对他人带来问题。

开始前需要了解的的基础操作:

  1. 1. 交互编辑界面,点击i键进入编辑模式
  2. 2. 点击ESC键退出编辑模式,进入命令行模式
  3. 3. 命令行模式,点击:进入末行模式,输入wq敲回车,可以保存并退出
  4. 4. rebase交互界面和修改message界面都会用到上述基础操作

修改当前分支最后一次提交的message

直接使用下面的命令即可,这里会改变提交记录的哈希值

git commit --amend

修改许久以前的 commit 的 message

三步走:找出上次提交记录 -> 编辑提交记录 -> 编辑提交信息

1、确定需要改变 message 的 commit,例如下图画圈的 commit,我们需要使用它上次的 commit,即使用2f001c07fee6d3357da689b0fced90de69bae61d

image.png

2、使用 rebase 操作,然后会进入交互操作,编辑涉及到的 commit

git rebase -i 上一次commit的记录号

然后点击i键进入编辑模式,修改指定 commit 的提交信息,注意需要修改提交信息的 commit 使用reword,不需要改变的使用pick,然后点击ESC键进入编辑器的命令行模式,输入:wq,回车保存并退出

image.png

3、接着会进入 message 的编辑的界面,这时候可以修改之前提交的 message 了;i键进入编辑模式,最后点击ESC键进入命令行模式,输入:wq,回车保存并退出

image.png

连续多个commit整理成一个

1、假设把c3aa78f5dfd4ee合并成一次提交记录,先找到前面的提交记录2f001c07fee6d3357da689b0fced90de69bae61d

image.png

2、使用rebase命令,交互编辑界面,其中一个记录作为合入提交记录,其余合并掉的记录使用s,点击ESC键进入编辑器的命令行模式,输入:wq,回车保存并退出

git rebase -i 2f001c07fee6d3357da689b0fced90de69bae61d

image.png

3、然后进入提交记录的 message 修改界面,修改保存即可完成合并

image.png

4、完成合并以后的记录如下所示

image.png

间隔的几个commit整理成一个

操作类似于连续多个commit整理成一个,使用git rebase -i 记录号,进入交互界面,细节有些不同的地方:

  1. 1. 需要作为基础提交的放在最上面,pick
  2. 2. 需要合并的提交,挑选出来,紧接着基础提交,命令 s
  3. 3. 其他提交放在下面,接着使用pick

1、我们现在把aef5fdedce5bed6414合并在一起

image.png

2、使用rebase命令,交互编辑界面,然后根据开始的提示操作

git rebase -i 2f001c07fee6d3357da

image.png

3、接着会进入修改message的界面

image.png

4、最后完成提交记录的合并如下所示

image.png

目录
相关文章
Temporary email邮箱API发送邮件的步骤
使用Temporary email API发送邮件可保护隐私。步骤包括:了解API原理,注册获取API密钥,调用API并传入密钥,生成临时邮箱地址,编写邮件内容,然后发送。此方法确保真实邮箱不被泄露,适用于避免垃圾邮件。记得遵守使用规定和法规。
|
11月前
|
机器学习/深度学习 文件存储 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
292 1
|
Web App开发 前端开发 安全
如何用JAVA如何实现Word、Excel、PPT在线前端预览编辑?
随着信息化的发展,在线办公也日益成为了企业办公和个人学习不可或缺的一部分,作为微软Office的三大组成部分:Word、Excel和PPT也广泛应用于各种在线办公场景,但是由于浏览器限制及微软Office的不开源等特性,导致Word、Excel和PPT在在线办公很难整合到自己公司的OA或者文档系统。
1220 106
|
JavaScript 前端开发
JS中split的用法
JS中split的用法
296 1
|
JavaScript 前端开发
饿了么简化版后台管理系统-eladmin-web
饿了么简化版后台管理系统-eladmin-web
658 0
|
Web App开发 XML 缓存
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解
【2月更文挑战第6天】《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解 按照从上往下,从左往右的计划,今天就轮到介绍和分享Fiddler的会话面板了。Fiddler抓取到的每条http请求(每一条称为一个session),会话列表 主要是Fiddler所抓取到的每一条http请求都会显示到这里。主要包含了请求的ID编号、状态码、协议、主机名、URL、内容类型、body大小、进程信息、自定义备注等信息。
361 0
《吐血整理》保姆级系列教程-玩转Fiddler抓包教程(4)-会话面板和HTTP会话数据操作详解
|
流计算
HLS协议解析
HLS协议解析
564 1
|
JavaScript
【TypeScript】一直提示 :无法重新声明块范围变量
【TypeScript】一直提示 :无法重新声明块范围变量
【TypeScript】一直提示 :无法重新声明块范围变量
|
开发者
快速上手:如何在线生成App
现在,越来越多的企业和个人想要拥有一个自己的App,但是对于非开发者来说,如何实现这个目标呢?本文将介绍一种在线生成App的方法——将网页封装成App。
544 0