Git-使用Rebase合併分支

commit 合併

在開發過程中,可能會出現多個 commit 所涉及的邏輯都是同一個功能模塊,此時,會導致 log tree 非常的混亂,不美觀,因此,我們可以將多個 commit 進行合併,變成一條,這樣,也使得 log tree 會更加的簡潔。


首先,先確定的是,我們合併 commit 使用的是 rebase 命令。

command line

首先,找到要操作的 commit 的 前一條的 sha1,然後執行

git rebase -i sha1


執行完後,會出現指定 commit 後所有的 commit,然後根據需要將對應的 commit 的操作改爲需要的即可。


image.png
在這裏,我們分別描述一下這些操作哪些是有用的,以及該如何選擇。

  • pick:保留;
  • reword:保留,但是要修改 commit log;
  • edit:保留,但是會暫停 rebase 操作,讓你修改內容,不止是log;
  • squash:保留,但是會將該 commit 和上一條進行合併,且 commit log 也一起合併了;
  • fixup:保留,但是會將該 commit 和上一條進行合併,但是隻保留上一個 commit log;
  • exec:執行 shell 命令;
  • drop:移除該 commit。


一般,我們在使用過程中,使用 pick 和 squash 即可。

idea


image.png
這裏,假設,我們要把1和2進行合併。


首先,我們複製最後一個 commit 的序列號。


然後點擊 vsc - git - rebase
image.png


將複製的sha1號複製到下圖所示位置中,即可開啓 rebase 的合併圖形界面。
image.png


將需要的 commit 操作改爲pick,需要和其上面分支合併到改成 squash 即可。
image.png

最後,點擊 rebase 後,會讓我們輸入 commit log,根據世界輸入即可。


在全部合併結束後,需要使用 git push -f 進行強制提交即可。





文章在公衆號「iceWang」第一手更新,有興趣的朋友可以關注公衆號,第一時間看到筆者分享的各項知識點,謝謝!筆芯!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章