git 的rebase使用技巧

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 命令來壓縮合并兩次提交

  1. 在終端輸入: 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 下面的內容改成你想提交的概述即可

  1. 保存退出
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容