Git 使用规范指南

Learn Git Branching

1Git 基础使用流程

1.1初始化与克隆

复制代码
# 初始化本地仓库
git init

# 克隆远程仓库
git clone <repo_url>

一般拉取代码,直接在文件夹界面打开bash,git clone就行了

1.2日常开发流程

1拉取最新代码

复制代码
git pull origin <branch_name>

分支名,拉取远程某个分支代码

2创建/切换分支

复制代码
git checkout -b <branch_name>

创建一个新的分支同时切换到新创建的分支

3添加修改文件

复制代码
git add <file_name>  # 添加单个文件
git add .            # 添加所有改动

4提交代码

复制代码
git commit -m "符合规范的提交信息"

5推送代码

复制代码
git push origin <branch_name>

2.代码提交规范

2.1提交前检查

●通过 git diff 确认改动内容

●确保通过代码检查工具(如 ESLint)

●避免提交调试日志、临时文件(如 .idea/)

2.2提交粒度

●原子性提交:每个提交应仅包含一个功能/修复的完整改动

●避免巨型提交:单次提交建议不超过 300 行代码

2.3merge request(合并请求)

保护分支(如:master),禁止直接push。开发同学提交代码至自己分支之后,创建mr由对应仓库管理员进行review后再合入。

3分支命名规范

3.1分支类型前缀

|--------|----------|----------------------|
| 类型 | 前缀 | 示例 |
| 功能开发 | feature/ | feature/user-login |
| Bug 修复 | bugfix/ | bugfix/login-error |
| 发布分支 | release/ | release/v1.2.0 |
| 热修复 | hotfix/ | hotfix/db-connection |
| 文档 | docs/ | docs/api-update |

3.2命名规则

●全小写,单词用连字符分隔

●包含关联的 Issue ID(可选):feature/123-add-search

4Commit Message 规范

4.1格式要求

复制代码
<type>[optional scope]: <description>

[optional body]

[optional footer]

4.2提交类型

|----------|---------------|
| 类型 | 说明 |
| feat | 新功能 |
| fix | Bug 修复 |
| docs | 文档更新 |
| style | 代码格式调整(不影响逻辑) |
| refactor | 代码重构 |
| test | 测试相关 |
| chore | 构建/依赖更新 |

4.3示例

复制代码
git commit -m "feat(auth): implement OAuth2 login

- Add Google OAuth integration
- Update user schema with social IDs

Closes #123"

5最佳实践与工具

5.1推荐实践

●主分支(main)保护:禁止直接 push,必须通过 PR

●使用 rebase 替代 merge 保持提交历史整洁

●定期执行 git gc 清理仓库

5.2辅助工具

●Commitizen: 交互式提交引导工具

●commitlint: Commit Message 校验

●Husky: Git 钩子管理

●Git Flow: 分支管理扩展工具

相关推荐
即使再小的船也能远航5 小时前
【Git】实用Git操作指南:从入门到高效协作
git
<但凡.16 小时前
Git 完全手册:从入门到团队协作实战(4)
git·bash
SugarPPig17 小时前
Git 创建一个完全没有提交历史的 master 分支
git
lb29172 天前
git的使用,推送仓库github
git·github
躲在云朵里`2 天前
Git的使用
大数据·git·elasticsearch
悟能不能悟2 天前
在 IntelliJ IDEA 中打开这个用于设置 Git 用户名(Name)和邮箱(Email)的特定弹窗
java·git·intellij-idea
威威猫的栗子3 天前
Git 使用全指南:从配置到免密登录
大数据·git·vscode
Casia_Dominic3 天前
【tmux无法使用鼠标滚轮滚动页面的问题】解决方案
linux·git·github·tmux
Justice link3 天前
Nginx和Apache的区别
git
物联网软硬件开发-轨物科技3 天前
【轨物方案】分布式光伏电站运维升级智能化系列:老电站的数智化重生
运维·人工智能·分布式·git