👩💻 合併多個commit
1: 檢查 commit log
- 查看目前的 Commit log
- 以便了解有多少個 commit 需要被合併
git log --oneline
2: 進行交互式 Rebase
- 合併最近的 n 個提交
- 可以使用
git rebase -i
命令來啟動一個交互式的 rebase
ex: 合併最近4個 Commit
git rebase -i HEAD~4
這將會打開一個編輯器
顯示最近的 4 個Commit
每個 Commit 前面都標有 "pick"
3: 選擇 Commit 進行合併
在編輯器中,會看到類似這樣的列表:
pick e3a1b35 第一次提交的訊息
pick 7ac9a67 第二次提交的訊息
pick 1d2a3f4 第三次提交的訊息
pick 76f4da2 第四次提交的訊息
要將這些 Commit 合併成一個
需要將除了第一個 "pick" 之外的所有 "pick" 改為 "squash" 或 "s"
這告訴 Git 將這些 Commit 合併到第一個 Commit 中
pick e3a1b35 第一次提交的訊息
squash 7ac9a67 第二次提交的訊息
squash 1d2a3f4 第三次提交的訊息
squash 76f4da2 第四次提交的訊息
4: 重新編輯提交訊息
保存並關閉編輯器後,Git 將合併這些 Commit
如果使用 "squash",Git 將會提示編輯新的 Commit 訊息
這是 Commit 所有舊提交訊息的預設行為