文章目录
前言
rebase 合并多个commit 信息
用法
目的将多个commit信息合并到第一个commit
1、termial 输入 git rebase -i HEAD~3
,前3个commit 信息;然后enter
2、进入nano界面,保持第一个pick不变,后面的pick 改为s
vim格式的话,Esc,:wq。在此不做介绍了
界面是nano格式,按照下面操作。
git 为我们提供了以下几个命令:
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
3、Ctrl+ X,选择Y,单击Enter
4、会进入修改注释界面,修改新的commit 信息
设置新的commit 信息,删除不需要的commit信息
5、Ctrl+ X,选择Y,单击Enter
6、回到之前terminal
7、git push -f
: 强制提交
先尝试一下git push origin fenzhi
不行的话就强制提交
tips
1、遇到意外退出
git rebase --edit-todo
这时候会一直处在这个编辑的模式里,我们可以回去继续编辑,修改完保存一下:
git rebase --continue
2、中止修改
git rebase --abort
3、查看结果
git log
git status
4、SSH push 出错
按照上述流程都成功了,就是最后push不上去,只能http格式 git clone ,输入账号和密码。