Rebase
如果你们的开发模式是跨团队开发,是通过fork仓库,提交pr的形式去merge代码的工作流程,这时候可能会对你提交pr上面看到的commit信息有一定的要求,一般需要把commit合并成一条,才会merge你的pr
如果是这样,rebase
就能帮到你了
使用rebase
需要注意,不能rebase
远程的任何commit信息,只能rebase
自己分支或者自己fork后的那个仓库的commit信息
现在以分支的形式来操作rebase
- 先查log
git log --oneline
现在能明显的看到分界线了,接下来的rebase
的时候绝对不能使用(origin/master)后面的log(也就是head)
git rebase -i ea330ca
按完回车,会进入
在进入下一步之前先介绍一下,里面的常用命令
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
需要注意:你需要按i键才能进行编辑操作, 修改完成之后,按esc,英文状态下,输入:wq然后按回车,然后就会进入
同样操作,按i键进入编辑
这时候就可以按回车退出了,然后再重新
push
一次,但是需要push -f
,否则是推送不上去的
可以看一下,push之前仓库的commit信息
然后
push
之后再看一下仓库的commit信息
也可以通过
git log
去查看