前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git 提交规范

Git 提交规范

原创
作者头像
Johns
修改2022-08-25 10:37:11
2K0
修改2022-08-25 10:37:11
举报
文章被收录于专栏:代码工具代码工具

Git Commit 规范

  • Git commit message规范指提交注释时的编写规范,统一方便维护,如下:
代码语言:txt
复制
feat:新功能

fix:修复一个bug

docs:只改了文档

style:修改不涉及代码的主要逻辑(如格式化了代码)

refactor:改动了代码,既不是新功能也不是修复bug

perf:优化了代码,提升了性能

test:增加或修改了代码测试

build:更改了构建流程相关的配置文件和包(如glup, npm)

ci:更改了CI配置文件或脚本等(如Travis, Circle, BrowserStack, SauceLabs)

chore:其它不涉及源代码和测试代码的修改

revert: git revert一次提交

Git分支使用规范

以下是一般情况的规则建议,适用于大多数场景。某些特定场景需要有所变通:

命名规则

说明

master

约定俗成默认创建的分支,用作主干/集成分支。

dev/<work description>

开发分支前缀,用于常规开发分支,例如需求特性、重构等。例如 dev/add-tools-menudev/refactor-x-function

bugfix/<bug/issue id>-<description>

缺陷修复分支前缀,可用于开发分支合入主干后的缺陷修复或发布分支缺陷修复等。 某些情况下,为进一步区分一般缺陷修复和基于线上版本的紧急修复发布,可考虑增加子类hotfix/*。 例如 bugfix/issue-1023bugfix/T1023-ios13-launch-crash

release/<app>-<version>

发布分支,常基于主干创建,用于进一步验证及缺陷修复后发布,其中版本号按照《语义化版本号》。 例如 release/wecast-3.1.0release/gme-2.1.1

v + <version>

标签名,用于标识发布或里程碑版本,其中版本号按照《语义化版本号》。例如 v3.1.0

Git使用的工作流程

image.png
image.png

工作流程是指从创建、维护、提交、合并等开发的过程中的流程, 基本原则:线上默认有 master 和 develop 两个分支

  • master 为受保护分支,所有人可以 clone 或者 pull ,仅指定人员可对master进行 push 和 merge
  • develop 为日常开发分支

日常开发,从develop分支上 checkout 一个分支进行开发或者bug修复。分支命名规范:

  • 分支版本命名规则:分支类型 分支发布时间功能。比如:feature_201704011859
  • 分支类型包括:feature、 bugfix、refactor、hotfix四种类型,即新功能开发、bug修复、代码重构和紧急修复线上bug
  • 时间使用年月日进行命名,不足2位补0,时间精确到分钟
  • 分支功能命名使用snake case命名法,即下划线命名,可选
  • 功能测试完毕,合并至 develop 分支,并将代码push到线上develop分支,定期进行codereview,待分支功能上线,删除开发分支
  • 线上紧急bug,从master拉取hotfix分支; 修复完成后,合并回develop分支

.gitignore文件使用说明

一份用于忽略不必提交的文件的列表。统一的.ignore文件,减少不必要的文件提交和冲突,净化代码库环境。这里只需要根据实际的需求,统一就好。

代码语言:txt
复制
/shelf/

/workspace.xml

/dataSources/

/dataSources.local.xml

/httpRequests/

global.iml

modules.xml

vcs.xml

.idea/*

.ignore文件不需要提交远程, 只需要本地保留就行.

Git状态模型

状态
状态

涉及四个存储位置 工作区(workspace)、暂存区(Index)、本地仓库(local repository)、远程仓库(remote repository)

常用命令汇总

下面列了一些过程中经常使用到的命令,方便使用的时候查询

  • 初始配置
代码语言:shell
复制
git config --global user.name  "xxxxxx"

git config --global user.email "xxxxxx@qq.com"
  • 克隆项目
代码语言:shell
复制
git clone -b dev https://github.com/xxxxxx/xxxxxx.git
  • 新增(将工作区文件添加到暂存区)
代码语言:shell
复制
git add .
  • 提交(把暂存区内容提交到当前分支)
代码语言:shell
复制
git commit
  • 本地内容提交到暂存区
代码语言:shell
复制
git stash
  • 本地内容从暂存区弹出来
代码语言:shell
复制
git stash pop
  • push (推送到远端develop分支)
代码语言:shell
复制
git push origin develop
  • 更新线上版本到本地
代码语言:shell
复制
git pull
  • 本地创建分支
代码语言:shell
复制
git branch feature_202207160808
  • 切换分支
代码语言:shell
复制
git checkout feature_202207160808
  • 将feature_202207160808分支合并到当前分支
代码语言:shell
复制
git merge feature_202207160808
  • 查看本地分支
代码语言:shell
复制
git branch
  • 查看远端分支
代码语言:shell
复制
git branch -r
  • 查看所有分支
代码语言:shell
复制
git branch -a
  • 本地分支推送到远端
代码语言:shell
复制
git push origin feature_202207160808
  • 删除远程分支
代码语言:shell
复制
git push origin --delete feature_202207160808

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Git Commit 规范
  • Git分支使用规范
  • Git使用的工作流程
  • .gitignore文件使用说明
  • Git状态模型
  • 常用命令汇总
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档