需求
開發(fā)過程抢肛,自己的一個(gè)模塊沒有完成或者有事情走開了狼钮,不想提交到倉庫,但是有恐怕代碼覆蓋或者丟失捡絮,就把代碼提交到本地倉庫了熬芜,但是如果一個(gè)模塊比較大的時(shí)候,自己本地提交的次數(shù)就比較多了福稳,這樣就不想在公司遠(yuǎn)程倉庫中出現(xiàn)那么多commit猛蔽,所以就想把本地的多次commit合并成一個(gè)提交到遠(yuǎn)程倉庫中.
操作
-
git log(盡量不要git pull, 會(huì)把別人的log pull下來)
先查看一下log,要把前面多少次commit合并了
1.png
我自己的log灵寺,我想把前面5個(gè)合并曼库,然后ctrl+c 退出. -
git rebase -i HEAD~5
命令中5代表合并的commit數(shù),命令以后出現(xiàn)下面頁面
2.png
然后用vim命令修改pick略板,把圖中頭部5個(gè)中的pick修改為squash毁枯,注意只修改后四個(gè),第一個(gè)不用修改叮称,git會(huì)自動(dòng)處理第一個(gè)种玛,修改后保存退出,出現(xiàn)以下頁面3.png
修改commit以后退出瓤檐,就會(huì)出現(xiàn)下面頁面4.png
表示合并成功. git pull
現(xiàn)在要拉取代碼赂韵,以免覆蓋別人的代碼.git push
提交代碼,把本地修改提交到遠(yuǎn)程倉庫挠蛉,這樣看到遠(yuǎn)程倉庫就一條commit記錄.