使用 Git Rebase 方式合并两个分支
要以 rebase 方式合并两个分支,你可以使用 Git 的 rebase 命令而不是 merge 命令。以下是详细步骤:
基本 rebase 合并流程
-
首先确保你的工作目录是干净的(没有未提交的修改)
-
切换到要被 rebase 的分支(通常是特性分支):
bash
git checkout feature-branch
-
执行 rebase 操作,将当前分支变基到目标分支(通常是主分支):
bash
git rebase main
-
如果有冲突,解决冲突后:
bash
git add <冲突文件> git rebase --continue
-
如果你想取消 rebase:
bash
git rebase --abort
-
rebase 完成后,你可以切换到主分支并快进合并:
bash
git checkout main git merge feature-branch
更简洁的 rebase 并合并方式
你也可以使用一条命令完成 rebase 和合并:
bash
git checkout feature-branch git rebase main git checkout main git merge feature-branch
使用 pull 命令带 rebase 选项
如果你要更新本地分支并希望使用 rebase 而不是 merge:
bash
git pull --rebase origin main
注意事项
-
rebase 会重写提交历史,只应在个人分支或团队同意的情况下使用
-
不要在公共分支(多人协作的分支)上使用 rebase
-
rebase 后可能需要强制推送(
git push -f),但要注意这会覆盖远程历史
图形化解释
rebase 前:
text
A---B---C (main)
\
D---E (feature-branch)
rebase 后:
text
A---B---C (main)
\
D'---E' (feature-branch)
然后快进合并 main 分支:
text
A---B---C---D'---E' (main, feature-branch)
这种方式保持了线性的提交历史,避免了 merge commit。
1016

被折叠的 条评论
为什么被折叠?



