Git 团队协作:分支管理与多人协同
一、为什么需要分支?
分支就像平行宇宙——在分支上开发新功能不会影响主线,测试通过后再合并。
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(需谨慎)。