Git 是每个开发者的日常工具,但用得好和用得差不多之间差距很大。这篇文章总结了我从个人项目到团队协作中积累的 Git 最佳实践。

Commit Message 规范

一个好的 commit message 能让你三个月后仍然看懂当时做了什么。我推荐 Conventional Commits 格式:

<type>(<scope>): <short summary>

<body>

<footer>

常用的 type:

✅ 好的 commit message:
fix(auth): 修复 Token 过期后无限刷新的问题

❌ 差的 commit message:
fix bug · update · 改了点东西

分支策略

对于个人项目和小团队,我推荐简化版的 Trunk-Based Development

分支命名用英文小写 + 连字符,简短描述变更内容:feat/watermark-supportfix/login-redirect

每个分支只做一件事。如果一个分支改了 5 个不相关的功能,review 的人会很痛苦,rollback 的时候也会很麻烦。

PR 的最佳实践

写 PR 描述不只是为了别人,也是为了你自己。一个好的 PR 模板:

## What
简述这个 PR 做了什么

## Why
为什么要这样改

## How
实现方案简述(如有替代方案也说明为什么没选)

## Screenshots / Test
截图或测试说明(UI 改动必加截图)

另外,尽量保持 PR 小巧——200 行以内是最容易 review 的。 大功能可以拆成多个小 PR 逐步合并。

善用 .gitignore

在项目开始时就配好 .gitignore,避免把 node_modules、.env、IDE 配置文件、系统临时文件提交进去。很多问题都是因为某个人的本地配置文件被提交上去惹出来的。

Git Rebase vs Merge

这是新手最容易困惑的地方。简单原则:

# 在 feat 分支上把 main 的最新改动 rebase 进来
git fetch origin
git rebase origin/main

# 解决冲突后
git push --force-with-lease  # 注意:只在自己的 feat 分支上 force push
Git 是一个工具,不是目的。好的工作流应该让你的开发更顺畅,而不是增加负担。从简单的开始,遇到问题了再逐步完善。