Git使用统一规范

为什么要统一git使用的风格?

  • 统一的风格使我们在工作的时候无需考虑工作流程上该如何去做的问题,按照一个风格去做就好了
  • 每个人风格不同,格式凌乱,查看很不方便
  • commit没有准确的message,后续难以追踪问题

git message 提交规范

强制Git每次commit,都按照指定风格写commmit message,否则不允许提交。

bash 复制代码
feat[data]: mysql数据同步到es

上面的提交包含三部分

\[\]:

type必选,只允许以下几个类型;scope可选,subject必选,冒号后面有空格

bash 复制代码
feat:新功能(feature)
fix:修补bug
docs:文档(documentation)
style: 格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
test:增加测试
chore:构建过程或辅助工具的变动

一个commit message包括三个部分,每部分提交说明尽量不要超过100个字符,避免自动换行展示影响美观。

  • Header 必须
  • Body 可以省略
  • Footer 可以省略
bash 复制代码
<type>[<scope>]: <subject>
// 空一行
<body>
// 空一行
<footer>

分支管理

xxx/xxxx

分支命名

master 分支

  • master 为主分支,也是用于部署生产环境的分支,确保master分支稳定性
  • master 分支一般由develop以及hotfix分支合并,任何时间都不能直接修改代码

develop 分支

  • develop 为开发分支,始终保持最新完成以及bug修复后的代码
  • 一般开发的新功能时,feature分支都是基于develop分支下创建的

feature 分支

  • 开发新功能时,以develop为基础创建feature分支
  • 分支命名: feature/ 开头的为特性分支, 命名规则: feature/user_module、 feature/cart_module

release分支

  • release 为预上线分支,发布提测阶段,会release分支代码为基准提测

    arduino复制代码
    当有一组feature开发完成,首先会合并到develop分支,进入提测时,会创建release分支。
    如果测试过程中若存在bug需要修复,则直接由开发者在release分支修复并提交。
    当测试完成之后,合并release分支到master和develop分支,此时master为最新代码,用作上线。

hotfix 分支

  • 分支命名: hotfix/ 开头的为修复分支,它的命名规则与 feature 分支类似
  • 线上出现紧急问题时,需要及时修复,以master分支为基线,创建hotfix分支,修复完成后,需要合并到master分支和develop分支

git命令配置

可以配置git命令别名,提高效率。

bash 复制代码
vi ~/.gitconfig

内容如下:

[alias]
    pull = pull
    co = checkout
    ci = commit
    st = status
    df = diff
    pl = pull -p
    ps = push
    br = branch
    mg = merge
    ds = describe
    tree = log --graph --all --remotes=origin
    fl = flow
    fh = flow help
    feature = flow feature
    fe = flow feature
    release = flow release
    re = flow release
    hotfix = flow hotfix
    hf = flow hotfix
[core]
        autocrlf = input
[user]
        name = wanglianhai
        email = wanglianhai@lixiang.com
相关推荐
Change!!43 分钟前
git小乌龟,切换到新分支处理
git·git切到新分支,旧代码贮藏
LannyChung18 小时前
PowerShell 下 git log 中文乱码的完整排查与解决
windows·git
import_random19 小时前
[git]本地main,origin/main,远程main(关系2)
git
golang学习记19 小时前
Zed Git重大更新:目录级对比支持分栏Diff
git·vscode·zed
阿俊-全栈开发1 天前
LikeShop 单商户高级版二开项目的 Git 分支管理与版本发布规范
git·likeshop·likeshop开源商城·likeshop多商户
努力弹琴的大风天1 天前
TortoiseGit 仓库不显示绿色对号解决方案
git·tortoisegit·图标显示
我不会插花弄玉1 天前
GitHub实操【由浅入深-Git】
git·github
说实话起个名字真难啊1 天前
Git常用小问题笔记
笔记·git·elasticsearch
橙露2 天前
git简明教程以及资源分享
大数据·git
codigger2 天前
别再靠"最终版-改"活下去了:一篇讲透 Git 与 GitHub
git·程序员·github·编程·控制版本