需求
开发过程,自己的一个模块没有完成或者有事情走开了,不想提交到仓库,但是有恐怕代码覆盖或者丢失,就把代码提交到本地仓库了,但是如果一个模块比较大的时候,自己本地提交的次数就比较多了,这样就不想在公司远程仓库中出现那么多commit,所以就想把本地的多次commit合并成一个提交到远程仓库中.
操作
-
git log(尽量不要git pull, 会把别人的log pull下来)
先查看一下log,要把前面多少次commit合并了
我自己的log,我想把前面5个合并,然后ctrl+c 退出. -
git rebase -i HEAD~5
命令中5代表合并的commit数,命令以后出现下面页面
然后用vim命令修改pick,把图中头部5个中的pick修改为squash,注意只修改后四个,第一个不用修改,git会自动处理第一个,修改后保存退出,出现以下页面
修改commit以后退出,就会出现下面页面
表示合并成功. git pull
现在要拉取代码,以免覆盖别人的代码.git push
提交代码,把本地修改提交到远程仓库,这样看到远程仓库就一条commit记录.