问题:都在 main 上提交

小组项目最常见的灾难,是四个人轮流往 main 分支 push,冲突此起彼伏,历史乱成一团。

约定:功能分支 + Pull Request

我们采用最简单可控的 GitHub Flow

  1. 从最新的 main 切出功能分支:feat/dark-mode
  2. 在分支上开发、提交。
  3. 推送后发起 Pull Request,至少一人 Review
  4. 合并回 main,删除分支。
git checkout -b feat/dark-mode
# 开发...
git push -u origin feat/dark-mode

分支命名规范

前缀含义示例
feat/新功能feat/search
fix/修 bugfix/header-overflow
docs/文档docs/readme
chore/杂项chore/deps

提交信息也要规范

用"动词 + 对象"的开头:feat: 新增文章搜索fix: 修复暗色模式闪烁。清晰的提交信息,是给队友(和未来的自己)最好的礼物。

小结

工具之上是约定。Git 本身不会让协作变好,遵守约定才会。