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
