Git Rebase 操作指南:将 develop 分支更新到功能分支

标准操作步骤

# 1. 先切到 develop,拉取远程最新代码
git checkout develop
git pull origin develop

# 2. 切回你的 A 分支
git checkout A

# 3. 执行 rebase,将 develop 的新提交"接"到 A 分支底部
git rebase develop

执行后发生了什么?

# rebase 前:
develop:  D1 → D2 → D3(新提交)
A 分支:         D2 → A1 → A2

# rebase 后:
develop:  D1 → D2 → D3
A 分支:              D3 → A1' → A2'  (你的提交被"重放"到 D3 之后)

效果:A 分支的提交历史变得非常线性、干净,没有多余的 merge commit。


如果遇到冲突

# 1. 手动解决冲突文件(编辑器会标记 <<<<<<< 等)

# 2. 解决后标记为已解决
git add .

# 3. 继续 rebase
git rebase --continue

# 如果中途想放弃 rebase,回到 rebase 之前的状态:
git rebase --abort

⚠️ 如果 A 分支提交较多,可能会多次冲突,每次解决后都要 git add + git rebase --continue


Rebase 后推送到远程

因为 rebase 会改写提交历史,普通 git push 会被拒绝,需要强制推送

git push origin A --force-with-lease

💡 用 --force-with-lease 而不是 --force,更安全——如果远程有别人新推的提交,会拒绝覆盖。


一句话速记

git checkout develop && git pull
git checkout A
git rebase develop
git push origin A --force-with-lease

⚠️ 注意事项

注意点 说明
不要 rebase 已共享的分支 如果 A 分支有其他人协作,rebase 会让别人的历史对不上
rebase 前先 commit 或 stash 确保 A 分支没有未提交的修改
冲突多时考虑 merge git merge develop 也能更新代码,只是多一个 merge commit

如果你的 A 分支是个人开发分支,放心用 rebase,历史更整洁 👍

posted @ 2026-08-05 20:58  ZerlinM  阅读(15)  评论(0)    收藏  举报