Git多人协作
多人协作是 Git 的核心使用场景,我按**「标准协作全流程 + 核心规范 + 常见工作流 + 避坑指南」**完整讲解,覆盖99%的团队开发场景:
📌 一、多人协作完整标准流程(按执行顺序)
🔹 第一步:初始准备(只做一次)
- 克隆远程仓库到本地
1 | # 把团队的远程仓库克隆到本地 |
- 配置个人信息(全局配置一次即可)
1 | git config --global user.name "你的名字" |
🔹 第二步:日常开发标准流程(每次开发都要走!)
1. 永远先拉取远程最新代码
开发前必须先同步主分支的最新代码,避免后续冲突:
1 | # 切换到主分支(main/master,看团队命名) |
2. 创建自己的功能分支(绝对不要直接在main分支开发!)
1 | # 基于最新的main分支,创建自己的功能分支,命名按团队规范 |
✅ 分支命名规范(团队通用):
- 功能开发:
feature/xxx功能 - 修复线上bug:
hotfix/xxx问题修复 - 修复普通bug:
bugfix/xxx问题
3. 开发+本地提交
1 | # 开发过程中,频繁小步提交(不要攒一大堆再提交) |
✅ 提交信息规范(团队通用,Angular规范最常用):
feat: xxx新功能fix: xxx修复bugdocs: xxx文档修改style: xxx代码格式调整(不影响逻辑)refactor: xxx代码重构
4. 开发完成,同步主分支最新代码(解决冲突)
你的分支开发期间,主分支可能已经有别人提交的代码,必须先同步再推送:
1 | # 1. 先切回主分支,拉取最新代码 |
5. 推送自己的分支到远程仓库
1 | # 第一次推送需要加 -u,后续直接git push即可 |
6. 提交合并请求(PR/MR,团队协作核心)
- 打开远程仓库页面(GitHub/GitLab/Gitee)
- 找到你推送的分支,点击「New Pull Request」(PR)/「Merge Request」(MR)
- 填写标题、修改说明,指定评审人,提交PR
- 等待同事代码评审,根据评审意见修改代码(修改后直接push到自己的分支,PR会自动更新)
- 评审通过后,由负责人合并到主分支
7. 合并完成,清理分支
1 | # 1. 切回主分支,拉取合并后的最新代码 |
📋 二、多人协作核心规范(必须遵守!)
- 绝对禁止直接push到main/master主分支,所有修改必须走PR/MR评审
- 禁止在公共分支使用rebase/reset --hard,会破坏所有人的提交历史
- 小步提交,不要攒大提交:每完成一个小功能就提交,方便回滚和排查问题
- 提交前必须本地测试通过,不要把不能运行的代码推到远程
- 每天至少拉取一次主分支代码,尽早解决冲突,避免最后攒大冲突
- 不要提交敏感信息、大文件、node_modules等依赖包,用.gitignore过滤
🔄 三、团队最常用的2种协作工作流
1. GitHub Flow(最通用,90%中小团队用这个)
✅ 特点:简单、灵活,适合持续交付的团队
- 只有一个长期主分支
main - 所有功能都从main拉feature分支
- 开发完提PR,评审通过合并到main,立刻部署
- 线上bug从main拉hotfix分支,修复完合并回main
2. Git Flow(适合大项目、版本发布严格的团队)
✅ 特点:规范严谨,适合有明确版本周期的项目
- 长期分支:
main(线上稳定版)、develop(开发主分支) - 临时分支:
feature/xxx(从develop拉,开发完合并回develop)、release/x.x.x(版本发布分支)、hotfix/xxx(从main拉,修复线上bug)
⚠️ 四、多人协作常见坑&避坑方案
-
冲突太多解决不了?
- 每天拉取主分支代码,不要等开发完再同步
- 按功能拆分分支,不要一个分支写太多功能
- 冲突时先和修改同文件的同事沟通,不要私自覆盖别人的代码
-
不小心把错误代码推到远程了?
- 自己的私有分支:可以用
git reset --hard然后git push -f强制推送 - 公共分支:绝对不能强制推!用
git revert生成新提交撤销错误代码
- 自己的私有分支:可以用
-
别人的PR想本地测试?
1 | # 拉取别人的PR到本地测试(PR编号看远程页面) |
- 多人修改同一份文件,怎么减少冲突?
- 提前和同事沟通开发范围,尽量避免多人同时改同一个核心文件
- 按模块拆分文件,降低单文件复杂度
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Mount256的个人小站!



