返回博客
Git 提交的最佳实践
Git 提交的最佳实践
Git最佳实践:
- 原子性提交 - 每个提交只包含一个逻辑改动
- 规范格式 - 使用 type(scope): subject 格式
- 清晰描述 - 标题简洁,正文详细说明改动内容
- 合理分类 - 按功能模块分组(accounts, frontend/approval, frontend/production等)
- 类型准确 - feat(新功能)、refactor(重构)、chore(工具配置)
遵循的 Git 最佳实践
- 原子性提交 - 每个提交只做一件事,便于回滚和代码审查
- 类型前缀 - 使用 fix: 、 feat: 、 refactor: 、 chore: 等约定式提交类型
- 清晰的主题行 - 50 字符以内,描述做了什么
- 详细的正文 - 使用 -m 多行描述变更细节
- 逻辑分组 - 后端和前端变更分离,核心修复和重构分离
- 依赖独立 - lock 文件变更单独提交
如果文件已经被提交到 Git 仓库,现在需要将其从仓库中删除并停止跟踪,同时保留本地文件。可以使用以下解决方案。
解决方案
# 从 Git 仓库中删除文件,但保留本地文件
git rm --cached .eslintrc-auto-import.json
# 提交更改
git commit -m "chore: 停止跟踪自动生成的 .eslintrc-auto-import.json"
解释
| 命令 | 作用 |
|---|---|
git rm --cached |
从 Git 索引中删除文件,但保留本地文件 |
区别于 git rm |
后者会同时删除本地文件 |
完整流程
# 1. 确保 .gitignore 已包含该文件(你已经添加好了)
# 2. 从 Git 索引中移除并保留本地文件
git rm --cached .eslintrc-auto-import.json
# 3. 提交更改
git commit -m "chore: 停止跟踪自动生成的 .eslintrc-auto-import.json"
# 4. 推送到远程(如果需要)
git push
执行后:
- 本地文件仍然保留,ESLint 自动导入功能正常工作
- Git 不再跟踪该文件的变更
- 其他开发者拉取后也不会再看到这个文件的变更