哇哦,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并传入密钥,生成临时邮箱地址,编写邮件内容,然后发送。此方法确保真实邮箱不被泄露,适用于避免垃圾邮件。记得遵守使用规定和法规。
|
机器学习/深度学习 文件存储 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
326 1
|
Web App开发 前端开发 安全
如何用JAVA如何实现Word、Excel、PPT在线前端预览编辑?
随着信息化的发展,在线办公也日益成为了企业办公和个人学习不可或缺的一部分,作为微软Office的三大组成部分:Word、Excel和PPT也广泛应用于各种在线办公场景,但是由于浏览器限制及微软Office的不开源等特性,导致Word、Excel和PPT在在线办公很难整合到自己公司的OA或者文档系统。
1324 99
|
缓存 NoSQL Java
Spring Boot中的分布式缓存方案
Spring Boot提供了简便的方式来集成和使用分布式缓存。通过Redis和Memcached等缓存方案,可以显著提升应用的性能和扩展性。合理配置和优化缓存策略,可以有效避免常见的缓存问题,保证系统的稳定性和高效运行。
450 3
|
关系型数据库 MySQL 测试技术
如何进行数据库的升级?
【7月更文挑战第21天】如何进行数据库的升级?
1028 1
|
人工智能 自然语言处理 算法
【AIGC】GPT-4o技术分析-浅谈
【AIGC】GPT-4o技术分析-浅谈
443 6
|
JavaScript 前端开发
JS中split的用法
JS中split的用法
335 1
|
JavaScript 前端开发
饿了么简化版后台管理系统-eladmin-web
饿了么简化版后台管理系统-eladmin-web
833 0
|
Java Spring Web App开发
JAVA SSH 框架介绍
SSH 为 struts+spring+hibernate 的一个集成框架,是目前较流行的一种JAVA Web应用程序开源框架。 Struts Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。
2267 0

热门文章

最新文章