适用于个人开发分支同步 dev 最新代码。共享分支不要执行 rebase。
命令行操作
先确认当前分支和工作区状态:
bash
git branch --show-current
git status
工作区有未提交修改时,先提交,或临时保存:
bash
git add .
git commit -m "保存当前修改"
# 或:git stash push -m "rebase前临时保存"
同步并变基到远程 dev:
bash
git fetch origin
git rebase origin/dev
如果当前分支已经推送过,变基完成后使用安全强推:
bash
git push --force-with-lease origin 当前分支名
处理冲突
bash
git status
# 手动解决冲突文件
git add 已解决的文件
git rebase --continue
重复处理直到变基完成。放弃本次变基:
bash
git rebase --abort
IDEA 操作
- 点击右下角分支名,切换到自己的开发分支。
- 执行
Git → Fetch,拉取远程分支最新提交。 - 再次打开右下角分支菜单,选择
origin/dev。 - 点击
Rebase Current onto Selected(将当前分支变基到所选分支)。 - 出现冲突时,在 Git 工具窗口打开冲突文件,完成合并并点击
Apply。 - 点击
Continue Rebase继续;不想继续时点击Abort Rebase。 - 变基完成后 Push;若分支已推送,选择
Force push with lease。
Merge 和 Rebase 的选择
| 场景 | 建议 |
|---|---|
| 个人开发分支,仅自己使用 | 可使用 Rebase,历史更直观 |
| 已经被同事使用的分支 | 使用 Merge,避免改写提交历史 |
dev、main 等共享分支 |
不要直接 Rebase |
rebase 会重新生成当前分支提交,因此已推送的个人分支也只能使用
--force-with-lease,不要直接使用 --force。