Git 团队协作:分支管理与多人协同

小飞兽 工具&效率 20 次阅读 2026-07-14

一、为什么需要分支?

分支就像平行宇宙——在分支上开发新功能不会影响主线,测试通过后再合并。

main(主线)
  +-- feature/login(登录功能分支)
  +-- feature/payment(支付功能分支)

二、分支基础操作

git branch                      # 查看分支
git checkout -b feature/user-profile  # 创建并切换
git add . && git commit -m "完成功能"
git checkout main
git merge feature/user-profile    # 合并到主线

三、GitHub Flow 团队协作流程

git checkout -b feature/payment
git add .
git commit -m "添加支付功能"
git push -u origin feature/payment

GitHub 上创建 PR,code review 后合并

git checkout main && git pull origin main

四、解决合并冲突

当两个人修改了同一文件的同一行时,Git 无法自动合并:

<<<<<<< HEAD
    $price = 100;
=======
    $price = 150;
>>>>>>> feature/payment

手动保留正确版本,删掉标记,然后:

git add payment.php
git commit -m "解决合并冲突"

五、回滚:撤销错误提交

git reset --soft HEAD~1      # 撤销提交,保留修改
git reset --hard HEAD~1      # 撤销提交,丢弃修改(危险)
git revert HEAD               # 安全撤销已推送的提交

六、常见错误

Your branch is ahead of origin/main:用 git push 推送到远程即可。

fatal: refusing to merge unrelated histories:用 git merge --allow-unrelated-histories(需谨慎)。