Skip to content

git rebase 簡單說明

git rebase 是什麼?

  • 將一個分支的修改「移動」到另一個分支的最新狀態之上,重新整理 Git 歷史,使提交記錄更乾淨。

基本用法

git rebase <目標分支>
  • 例如:

    git rebase main
    
    • 將目前分支的修改移動到 main 分支的最新狀態上。

常見情境

  • 在功能分支完成後,需要將 main 最新的修改合併進來,避免 git merge 產生多餘的合併記錄 (merge commit)。

git rebase 影響區域

  • 影響 local 的 commit 歷史,不影響 remote,直到你 git push

git merge 的差異

  • git merge:保留兩個分支的歷史,產生一個合併紀錄 (commit)。
  • git rebase:將你的修改「重新放置」,不產生額外的合併紀錄,Git 歷史更清晰。

使用步驟

  1. 切到你的功能分支

    git switch feature-branch
    
  2. 執行 rebase

    git rebase main
    
  3. 若有衝突,解決後執行:

    git add <解決後的檔案>
    git rebase --continue
    
  4. 完成後推送

    git push origin feature-branch --force
    
    • ⚠️ 注意--force 會覆寫遠端的歷史,要小心使用。

什麼時候使用 rebase

  • 清理分支歷史,讓提交記錄線性且整齊,特別是功能分支合併到主分支前。

git rebase 是 Git 進階操作,讓你維護乾淨的 Git 歷史,但需小心使用,避免影響團隊合作! 😊