Git Rebase-提交整潔之道

git rebase

  • git rebase是一個非常有用的命令,但知道和用的人非常少,今天介紹一下其作用

git rebase -i

  • 作用:常用來合併多個相同目的的提交。
  • 互動式有下面幾個命令,常用命令
命令 作用
p 使用 commit
r 使用 commit,並修改提交資訊
e 編輯 commit,用於需要修改 commit 文件時使用,進入 edit 之後,然後修改文件或添加文件
s 使用最多的命令,用來合併上一個提交
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit

命令行操作

#### lazygit 操作 - 對應 lazygit 在提交資訊欄,按 x 可以查看對應命令 ![]()

git rebase branch

  • 模擬場景

    • dev 開發完合併到了 master
    • 然後 dev2 開發完再去合併 master,我們可以看到 commit 2c8284ac出現分支,並且顯示 Merge branch 『dev2』
    • 此時我們想去掉這個分支
  • 使用git rebase dev2 或者在 lazygit 游標放在 dev2 上面按 r (不清楚命令可以通過 x 查看)

  • 最後效果就是一個分支,非常優雅

git pull --rebase

  • 當我們從遠程拉程式碼的時候如果使用:git pull --rebase,則會以rebase的方式進行更新,而不是默認的merge。
  • 有時遠程 rebase 過,那麼拉的時候也需要 rebase