跳到主要内容

Git 分支合并速查

什么时候用

当你已经在某个功能分支上完成开发,现在想把它合并回目标分支,比如 mainmasterdevelop 时,可以按这页的顺序操作。

核心原则只有一句话:先切到目标分支,再执行 merge 把来源分支合进来。

先判断当前状态

git status
git branch --show-current
git log --oneline --decorate --graph -10
  • git status 最好先确认工作区是干净的。
  • git branch --show-current 用来确认你现在到底站在哪个分支上。
  • 如果你在团队协作环境里,合并前通常还应该先同步远程最新状态。

推荐命令

把功能分支合并到目标分支

git switch develop
git merge feature/login

如果你想强制保留一次显式 merge commit,可以使用:

git switch develop
git merge --no-ff feature/login

常见场景

普通合并流程

git switch develop
git merge feature/login

合并时出现冲突

git status

编辑冲突文件,删除冲突标记:

<<<<<<< HEAD
=======
>>>>>>> feature/login

确认内容后继续:

git add conflicted-file.txt
git commit

直接选择当前分支或来源分支版本

git checkout --ours conflicted-file.txt
git checkout --theirs conflicted-file.txt
git add conflicted-file.txt
git commit

在 merge 场景里:

  • --ours 指当前所在分支,也就是目标分支版本。
  • --theirs 指正在合并进来的来源分支版本。

放弃这次合并

git merge --abort

风险与边界

  • 合并命令总是作用在“当前分支”上,所以先切到目标分支非常重要。
  • 合并前最好保证工作区干净,否则冲突排查会更混乱。
  • git merge --abort 只适用于合并尚未完成的时候;一旦已经提交 merge commit,就不能再用它回退。
  • --ours / --theirs 的含义和“当前 merge 方向”绑定,先看清自己站在哪个分支上。

相关命令

git diff develop..feature/login
git log --oneline --decorate --graph -10
git merge --ff-only feature/login
git push origin develop