4.1 KiB
4.1 KiB
GIT 功能应用
公司 http://117.78.60.236:8000/users/sign_in zhanghonggang@csbr.cn w~7!
安装
sudo apt install git
sudo apt install gitk git-cola 图形化工具
全局设置
git config --global user.email "zimyx@.com"
git config --global user.name "Your Name"
git config --global credential.helper store 全局级别保存凭据,免密
基础用法
git status
git add .
git commit -m "更新代码"
git push
规范
分支类型与命名规范
分支命名格式
| 分支类型 | 命名格式 | 示例 |
|---|---|---|
| 主分支 | main |
main |
| 开发分支 | dev |
dev |
| 功能分支 | feat/<功能名> |
feat/event, feat/stream |
| 热修复分支 | hotfix/<问题名> |
hotfix/event |
| 发布分支 | release/<版本号> |
release/v1.0.0 |
分支用途说明
| 分支类型 | 用途说明 |
|---|---|
main |
稳定版本分支,直接对应生产环境代码 |
dev |
开发主分支,所有功能集成分支先合并到此分支 |
feat/* |
功能开发分支,用于开发新功能 |
hotfix/* |
热修复分支,用于紧急修复生产问题 |
release/* |
发布分支,用于版本发布准备 |
分支流程规则
核心规则:dev 禁止合并到 main
重要约束:dev 分支 禁止直接合并到 main 分支
dev是开发分支,代码未经充分测试,不适合直接发布到生产- 所有合并到
main的代码必须通过release/*分支或直接从hotfix/*分支合并
标准合并流程
功能开发流程:
feat/* → dev → release/* → main
热修复流程:
hotfix/* → main (紧急情况可直接合并)
hotfix/* → dev (同步修复到开发分支)
各分支合并规则
| 从分支 | 合并到 | 是否允许 | 说明 |
|---|---|---|---|
feat/* |
dev |
✅ 允许 | 功能开发完成后合并到开发分支 |
dev |
main |
❌ 禁止 | dev 禁止直接合并到 main |
dev |
release/* |
✅ 允许 | 开发分支可以合并到发布分支 |
release/* |
main |
✅ 允许 | 发布分支通过测试后合并到 main |
release/* |
dev |
✅ 允许 | 发布分支可同步回开发分支 |
hotfix/* |
main |
✅ 允许 | 热修复可直接合并到 main |
hotfix/* |
dev |
✅ 允许 | 热修复需同步到开发分支 |
feat/* |
main |
❌ 禁止 | 功能分支禁止直接合并到 main |
feat/* |
其他 feat/* |
❌ 禁止 | 功能分支之间禁止互相合并 |
当前项目分支结构
本地分支:
- dev (开发主分支,当前工作分支)
- feat/event (事件功能分支)
- feat/stream (流功能分支)
- hotfix/event (事件热修复分支)
- main (生产环境分支)
远程分支:
- origin/main
- origin/dev
- origin/feat/event
Git 操作指南
创建功能分支
# 从 main 创建功能分支
git checkout main
git pull origin main
git checkout -b feat/your-feature-name
合并功能到 dev
# 完成功能开发后,切换到 dev 分支
git checkout dev
git pull origin dev
# 合并功能分支
git merge feat/your-feature-name
# 推送 dev 分支
git push origin dev
创建发布分支
# 从 dev 创建发布分支
git checkout dev
git pull origin dev
git checkout -b release/v1.0.0
发布到 main
# 在 release 分支完成测试后,合并到 main
git checkout main
git pull origin main
git merge release/v1.0.0
git push origin main
# 删除发布分支
git branch -d release/v1.0.0
git push origin --delete release/v1.0.0
热修复操作
# 从 main 创建热修复分支
git checkout main
git pull origin main
git checkout -b hotfix/issue-description
# 修复完成后,合并到 main
git checkout main
git merge hotfix/issue-description
git push origin main
# 同时合并到 dev
git checkout dev
git merge hotfix/issue-description
git push origin dev
# 删除热修复分支
git branch -d hotfix/issue-description