git 合并commit提交

1、开发中 我们可能遇到这种情形: 在开发分支上多次commit

jari@DESKTOP-FBBQM3L MINGW64 /d/gitee/gitDemo (master)

$ git log

commit c8894255c8fbc436fe95daedbc035e412c92cca3 (HEAD -> master)

Author: tiankaixuan <17751676613@163.com>

Date:   Fri Dec 11 11:45:41 2020 +0800

 

 

    c 789

 

 

commit 9437f35e452e9a521aec9a253c5eff8e228155d1

Author: tiankaixuan <17751676613@163.com>

Date:   Fri Dec 11 11:45:20 2020 +0800

 

 

    b 456

 

 

commit 705f1fdf0236601c026188ceeb2796932fc75301

Author: tiankaixuan <17751676613@163.com>

Date:   Fri Dec 11 11:44:56 2020 +0800

 

 

    a 123

 

 

 

 

如果此时直接推送提交 , 小头目就会怼你了,因为你的多次提交不便于对比代码和查看提交内容,而且不好看。

 

 

 

 

2、rebase 粉墨登场

 git rebase -i  [startpoint]  [endpoint]

 

 

这个startpoint 和 endpoint 代表 开始的commitID 和 结束的commitID 。

 

 

该命令的就是对 startpoint 和 endpoint 之间所有的commitID进行操作。

 

 

(但是不包括 startpoint)

 

 

(如果只指定 startpoint , 那么endpoint默认指向当前节点)

 

 

 

 

3、执行

git rebase -i 705f1fdf0236601c026188ceeb2796932fc75301

 

 

git 合并commit提交

 

 

pick:保留该commit(缩写:p)

reword:保留该commit,但我需要修改该commit的注释(缩写:r)

edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)

squash:将该commit和前一个commit合并(缩写:s)

fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)

exec:执行shell命令(缩写:x)

drop:我要丢弃该commit(缩写:d)

 

 

我们需要的是合并 因此只需将 pick 改成 s ,然后保存退出。

 

 

git 合并commit提交

 

 

 

 

4、保存退出后自动进入到新的交互页面

git 合并commit提交

 

 

可以看到上面还是存在 2次提交信息 , 所以直接删除 , 添加新的提交信息

git 合并commit提交

 

 

5、若是想合并

git rebase -i "commitID" 中的commitID

  • 那么可以直接使用

    git rebase HEAD~3

    ,那么此时合并的就是最近提交的3次分支

git rebase HEAD~3

 

 

6、保存退出。

使用 git log 查看日志

git 合并commit提交

以上是 git 合并commit提交 的全部内容, 来源链接: utcz.com/a/78264.html

回到顶部