数码生活屋
白蓝主题五 · 清爽阅读
首页  > 远程协作

本地仓库合并分支操作:团队协作中的实用技巧

在远程协作开发中,每个人都在自己的分支上写代码,改功能,修 Bug。等到差不多了,就得把各自的改动整合到一起。这时候,本地的分支合并就成了家常便饭。

为什么要合并分支?

比如你负责做登录页面,同事小李在另一个分支优化注册流程。你们俩互不干扰,各自推进。等都完成了,项目主干(通常是 main 或 master 分支)就得把这两块内容合进去。这个过程就是在本地仓库完成分支合并操作。

基本合并流程

先确认你现在在哪个分支。打开终端,输入:

git status

假设你要把 login-feature 分支合并进 main,得先切到 main:

git checkout main

然后执行合并:

git merge login-feature

如果没冲突,Git 会自动提交合并结果。这时候你的 main 分支就已经包含了 login-feature 的所有改动。

遇到冲突怎么办?

多人同时改同一个文件,很容易撞车。比如你和小李都在改 user.js,合并时 Git 就不知道该用谁的版本,这时候就会提示冲突。

终端会显示类似这样的信息:

CONFLICT (content): Merge conflict in src/user.js

别慌,打开那个文件,你会看到这样的标记:

<<<<<<< HEAD
console.log("当前用户已登录");
=======
console.log("用户状态:在线");
>>>>>>> login-feature

上面那段是当前分支(main)的内容,下面是被合并分支(login-feature)的内容。你需要手动决定保留哪段,或者重新写一段新的,删掉 <<<<<<<、======= 和 >>>>>>> 这些标记。

改完之后,保存文件,再告诉 Git 冲突解决了:

git add src/user.js

接着提交合并:

git commit -m "合并 login-feature,解决冲突"

小贴士

合并前最好先拉一下最新代码,避免别人刚提交的内容被你忽略:

git pull origin main

另外,合并完如果发现有问题,可以用 git reset --hard HEAD~1 回退一次提交(仅限本地未推送的情况)。但要小心,这会丢掉最近一次提交。

平时开发建议用 feature 分支干活,改完再合并进主干,这样主分支干净,出问题也容易排查。