git 如何合并两个或多个commit成为一个commit

2020-04-13  本文已影响0人  南朝古寺

一、场景

有时候我们在用git提交代码之后,突然发现有些细节的小问题,需要修改并再次提交,但是这次的提交又没有必要作为一个单独的commit,也不想让领导看到这多次的提交,从而觉得这开发太不认真,这时候就需要使用git命令把多次的commit合并成一个commit。

二、 操作步骤

1、打开git bash 命令窗口,到对应的项目下面,输入命令:git rebase -i HEAD~2 , 其中HEAD~2是指历史的前两个提交,可以根据自己的情况调整,比如像合并前三个,就改为HEAD~3。

输入命令后,会出来vim编辑界面,如下:

pick d2a6e0d1a5c MN-16032 add audit log for contact delete via manager portal

pick a15751a94c0 MN-16032 optimize saveAuditLogForContacts to handle add/update operation

# Rebase 40b7ebb2ef8..a15751a94c0 onto 40b7ebb2ef8 (2 commands)

# Commands:

# p, pick = use commit

# r, reword = use commit, but edit the commit message

2、 修改第二行的pick为s,也就是squash合并的意思,退出编辑,此时会执行合并,并再次弹出vim编辑界面,如下:

1 # This is a combination of 2 commits.

2 # This is the 1st commit message:

3

4 change 1: rename the field

5

6 # This is the commit message #2:

7

8 change 2: add log info

9

10 # Please enter the commit message for your changes. Lines starting

11 # with '#' will be ignored, and an empty message aborts the commit.

将上边的change 1 和change 2 合并成一个如:

1 # This is a combination of 2 commits.

2 # This is the 1st commit message:

3

4 change 1: rename the field and add log info

10 # Please enter the commit message for your changes. Lines starting

11 # with '#' will be ignored, and an empty message aborts the commit.

保存并退出编辑

3、输入命令 git push origin mybranch -f ,这里的mybranch填你当前的分支

4、这样就将两个commit合并成了一个commit。

上一篇下一篇

猜你喜欢

热点阅读