Git | 手把手教你修改message和合并commit

简介: 本文的主要围绕着下面这个问题展开的,在阅读之前可以先自己思考一下问题的答案是什么:如何修改以前的message信息?如何合并连续的以及不连续的commit记录?

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

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

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

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

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

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

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

git commit --amend

修改许久以前的 commit 的 message

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

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

image-20220424085535414.png

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

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

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

image-20220424090322245.png

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

image-20220424090424484.png

连续多个commit整理成一个

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

image-20220424091506434.png

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

git rebase -i 2f001c07fee6d3357da689b0fced90de69bae61d

image-20220424094402337.png

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

image-20220424094728550.png

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

image-20220424094831961.png

间隔的几个commit整理成一个

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

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

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

image-20220424194526287.png

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

git rebase -i 2f001c07fee6d3357da

image-20220424194819711.png

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

image-20220424194920578.png

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

image.png

目录
相关文章
|
7月前
|
人工智能 缓存 开发工具
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
结合企业实践来规范你的Git commit(含插件使用指南)
|
7月前
|
JSON 开发工具 git
git rebase 合并当前分支的多个commit记录
git rebase 合并当前分支的多个commit记录
153 1
|
6月前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
656 0
|
3月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
164 4
|
3月前
|
开发工具 git
GIT:如何合并已commit的信息并进行push操作
通过上述步骤,您可以有效地合并已提交的信息,并保持项目的提交历史整洁。记得在执行这些操作之前备份当前工作状态,以防万一。这样的做法不仅有助于项目维护,也能提升团队协作的效率。
280 3
|
4月前
|
开发工具 git
Git——commit的提交规范
Git——commit的提交规范
112 4
|
4月前
|
测试技术 持续交付 开发工具
[译] 为何每次 Git Commit 要尽可能小?
[译] 为何每次 Git Commit 要尽可能小?
|
4月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
95 0
|
5月前
|
前端开发 JavaScript 开发工具
前端优化之路:git commit 校验拦截
前面在git分支规范那篇文章里,介绍了commit提交规范,但是想要做到高效落地执行,就需要做些别的功课。
|
4月前
|
IDE 开发工具 git
我是怎么写 Git Commit message 的?
我是怎么写 Git Commit message 的?
55 0