问题:都在 main 上提交
小组项目最常见的灾难,是四个人轮流往 main 分支 push,冲突此起彼伏,历史乱成一团。
约定:功能分支 + Pull Request
我们采用最简单可控的 GitHub Flow:
- 从最新的
main切出功能分支:feat/dark-mode。 - 在分支上开发、提交。
- 推送后发起 Pull Request,至少一人 Review。
- 合并回
main,删除分支。
git checkout -b feat/dark-mode
# 开发...
git push -u origin feat/dark-mode
分支命名规范
| 前缀 | 含义 | 示例 |
|---|---|---|
feat/ | 新功能 | feat/search |
fix/ | 修 bug | fix/header-overflow |
docs/ | 文档 | docs/readme |
chore/ | 杂项 | chore/deps |
提交信息也要规范
用"动词 + 对象"的开头:feat: 新增文章搜索、fix: 修复暗色模式闪烁。清晰的提交信息,是给队友(和未来的自己)最好的礼物。
小结
工具之上是约定。Git 本身不会让协作变好,遵守约定才会。