git命令中rebase是一個非常強大的命令:
分享下兩種使用技巧:
1:多人在同一個分支上協(xié)作時,很容易出現(xiàn)沖突。即使沒有沖突,后push的童鞋不得不先pull,在本地合并,然后才能push成功。
每次合并再push后,會使得分支變得看上去很亂,有強迫癥的童鞋會問:為什么Git的提交歷史不能是一條干凈的直線?

image.png
其實是可以做到的!
這個時候,rebase就派上了用場:
在準備提交代碼時需要先拉取代碼,此時使用 git pull --rebase

image.png
在使用git pull --rebase時,需要先把自己的·代碼放入暫存區(qū)或者現(xiàn)commit代碼:git stash / git add git commit

image.png
最后取出暫存區(qū)本地修改的代碼:git stash pop
git會自動合并代碼
這樣此分支的提交歷史最后展現(xiàn)的就是一條直線了

image.png
2:合并分支
git rebase -i
作用: 合并提交
示例:
image
如圖所示:
原因:
出現(xiàn)了兩個第十一章的提交信息, 其實提交內容是一樣的, 但是提交概述不一樣. 這就讓我很不爽. 我想把兩次的概述信息合并為一個
解決辦法:
-
需要用到 git rebase -i 命令來壓縮合并兩次提交
- 在終端輸入: git rebase -i HEAD~2 這里的 HEAD~2 表示合并最近兩次的提交, 如果想合并最近三次的提交修改為: git rebase -i HEAD~3
image
輸入 git rebase -i HEAD~2 命令后, 會彈出如下的編輯器
image
將第二行的 pick 改為 s “s” 為 “squash” 的縮寫
“squash” 的意思是 將倒數(shù)第二次提交 壓縮為最后一次提交
然后保存
然后會彈出如下的編輯器
image
將 This is the commit message #2 下面的內容改成你想提交的概述即可
- 保存退出