Skip to content

Git Rebase

變基(重新定基底)

01你是不是遇到這個 / THE SYMPTOM

我的分支落後主線好多 commit,想把我的修改「接到」最新的主線後面,讓提交歷史看起來乾淨、像是我從最新進度開始做的,而不是一堆 merge 混在一起。

↑ 如果你點頭了,你要的關鍵字就是 Git Rebase

02這是什麼 / DEFINITION

Rebase 是把你分支上的提交「搬移」到另一個基準(通常是最新的 main)之上重新套用一次,產生一條線性的提交歷史,取代用 merge 留下的分叉與合併節點。

03什麼時候用 / WHEN TO USE

想讓自己功能分支的歷史保持線性、整齊時;或要把分支同步到最新 main 又不想留下一堆 merge commit 時。多用在還沒推上去、只有自己看的本地分支。

04怎麼跟 AI 說 / HOW TO ASK

直接複製這句、貼進 Claude Code / Cursor / Copilot / ChatGPT:

幫我把目前這個分支 rebase 到最新的 origin/main 上面,如果有衝突先停下來告訴我每個衝突在哪、要怎麼解。
05常見坑 / WATCH OUT

rebase 會「改寫」commit 的 hash,所以絕對不要對已經推上去、別人也在用的共用分支做 rebase(會害大家歷史對不上)。和 merge 的差別:merge 保留真實分叉歷史、rebase 偽裝成線性歷史。

06相關的詞 / RELATED