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 |
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 ,然后保存退出。
4、保存退出后自动进入到新的交互页面
可以看到上面还是存在 2次提交信息 , 所以直接删除 , 添加新的提交信息
5、若是想合并
git rebase -i "commitID" 中的commitID
- 那么可以直接使用
git rebase HEAD~3
,那么此时合并的就是最近提交的3次分支
git rebase HEAD~3 |
6、保存退出。
使用 git log 查看日志
以上是 git 合并commit提交 的全部内容, 来源链接: utcz.com/a/78264.html