git rebase 簡單說明
git rebase 是什麼?
- 將一個分支的修改「移動」到另一個分支的最新狀態之上,重新整理 Git 歷史,使提交記錄更乾淨。
基本用法:
-
例如:
- 將目前分支的修改移動到
main分支的最新狀態上。
- 將目前分支的修改移動到
常見情境:
- 在功能分支完成後,需要將
main最新的修改合併進來,避免git merge產生多餘的合併記錄 (merge commit)。
git rebase 影響區域:
- 影響 local 的 commit 歷史,不影響 remote,直到你
git push。
與 git merge 的差異:
git merge:保留兩個分支的歷史,產生一個合併紀錄 (commit)。git rebase:將你的修改「重新放置」,不產生額外的合併紀錄,Git 歷史更清晰。
使用步驟:
-
切到你的功能分支:
-
執行 rebase:
-
若有衝突,解決後執行:
-
完成後推送:
- ⚠️ 注意:
--force會覆寫遠端的歷史,要小心使用。
- ⚠️ 注意:
什麼時候使用 rebase?
- 清理分支歷史,讓提交記錄線性且整齊,特別是功能分支合併到主分支前。
git rebase 是 Git 進階操作,讓你維護乾淨的 Git 歷史,但需小心使用,避免影響團隊合作! 😊