美文网首页Git
git工作流及commit规范

git工作流及commit规范

作者: Walkerc | 来源:发表于2017-09-11 20:44 被阅读0次

Git 是目前最流行的源代码管理工具。可以方便的维护和管理团队合作项目。

但若没有一个合理,规范的分支命名和管理,以及commit消息的编写,会使得仓库越来越臃肿,也难以看懂历史变更,版本发布,bug修改等。

上周自己向主项目仓库提交了一个pull request,说句实在话,commit消息杂乱无章,重复commit,而且还混带了其他人的commit消息等等,真的干扰到主项目的管理和维护。

鉴于此,LZ查阅了一些网上的资料,以及自己亲手实践测试,写下这篇文章,来规范自己以后的git工作流程,如果万幸的话,还能给其他开发者一些参考。

这里先给大家安利一篇好文 Git 分支管理最佳实践,LZ也主要参考了该文章。

基于git flow的项目流程

文字叙述可能有点啰嗦,直接上图比较直观

点击看大图
流程图详解

说明:
upstream : 远程主项目仓库
origin : 远程个人仓库
local : 本地仓库
仓库指向的白色框,代表该仓库下的分支

  • 关系建立
    1、fork主项目到个人的远程仓库
    2、将fork下来的项目clone到本地
    3、git remote add upstream 建立与主项目远程仓库的关联
  • 开发某功能xxx
    4、项目管理者在主项目仓库新建分支 feature/xxx
    5、将新分支同步到本地dev
    6、git checkout -b feature/xxx 建立本地对应功能分支
    (此时本地的dev和feature/xxx分支与upstream上的分别对应相等)
    新功能开发完成后,测试通过后
    7、push到远程仓库
    8、提交pull request
    9、合并该分支并删除

commit提交规范

关于commit信息,它并没有固定的格式,但是每次的commit信息应当是简洁明了的表达你的修改,让其他合作者很容易的看懂。

就目前来看,最受欢迎,使用最广泛的就是 Angular规范,如下图

Angular.js

在Angular规范中,将commit message规定了三部分,分别是

  • Header
  • Body
  • Footer

在你的commit信息中,Header是必须的,而后面两种可加可不加,LZ个人认为只需Header即可,简洁明了,commit太复杂了反而不好。所以这里只介绍一下Header部分怎么写,其余两部分可以移步 Angular规范 看官方详细的说明。你也可以参考Angular.js开源项目的commit

Header

Header只需一行,包括type,scope,subject,格式如下

type(scope): subject

1、type(必选)
type 用于说明你commit的类型,有如下7种

  • feat:新功能 (feature)
  • fix:bug修复(bug fix)
  • docs:文档相关 (documentation)
  • style:代码格式 (formatting, missing semi colons, …)
  • refactor:重构
  • test:添加测试(when adding missing tests)
  • chore:工具或维护变动 (maintain)

2、scope(可选,建议选择)
scope用于表明你此次提交改动的范围和地方。当你找不到合适的词表明此次改动时,可以填上*

3、subject(必选)
简短的文本来描述你的改动

  • 动词开头,第一人称,如change,不要写changed或者changes
  • 第一个字母不要大写
  • 不要以句号( . )结尾

备注:如果某次commit是为了fix某个issue,那么要在Footer部分加上

Close #123

或者关闭多个

Closes #123,#456
Revert

是专门用来撤销上一次commit的操作,格式如下

revert: <被撤销的commit的Header部分>
This reverts commit <被撤销commit的SHA标识符(git log查看)>

相关文章

  • git操作

    git规范 Git 使用规范流程 团队中的 Git 实践 Git: 教你如何在Commit时有话可说 Git工作流...

  • git工作流及commit规范

    Git 是目前最流行的源代码管理工具。可以方便的维护和管理团队合作项目。 但若没有一个合理,规范的分支命名和管理,...

  • git提交规范

    Git 提交规范 制定一个 git commit 信息的提交规范是开发团队工作流必不可少的环节。试想一下,如果查看...

  • GitFlow + Gitlab 工作流及规范

    GitFlow + Gitlab 工作流及规范 一、 git 命令及配置 1.Git ssh 与 gitLab配置...

  • 使用 git hook 规范 Android 项目

    引言 本文所说的『规范』包含两个部分 git commit 是注释的规范 git commit 时对代码规范的检查...

  • git commit 使用及规范

    git commit 使用说明 1 概述 git提交推荐使用命令行工具,请严格遵循提交格式。 2 提交格式 在您g...

  • git commit规范

    git commit规范 git-commit规范 在多人协作项目中,如果代码风格统一、代码提交信息的说明准确,那...

  • gitflow 规范及工具整理

    gitflow 进阶规范 git cz 通过工具 git-cz 规范 git commit 提交信息。 使用 gi...

  • GIT 规范

    git 规范 git 规范一般包括两点:分支管理规范和 git commit 规范。 分支管理规范 一个项目可以创...

  • Git Commit message(Angular规范)

    Git Commit message(Angular规范) Commit message 的格式 1. Heade...

网友评论

    本文标题:git工作流及commit规范

    本文链接:https://www.haomeiwen.com/subject/atofsxtx.html