Git生态探索之Commit message 和 Change log 编写最佳实践

  • 时间:
  • 浏览:0
  • 来源:彩神快乐8_神彩快乐8官方

在项目目录下运行命令

commitizen init cz-conventional-changelog --save --save-exact

此时而且会报找并能package.json的错误,使用下面命令来自动生成有有有一个项目的package,而且在运行2中的命令.

npm init --yes

Line 1 will be cropped at 30 characters. All other lines will be wrapped after 30 characters.

revert: type(scope): some comment

This reverts commit bfe307ce57d87677c6c473c228e6c2ed8b81dcec.

按照提示,你会写出规范的message了

idea有插件可不还都可不可否 使用git commit template

commitizen一并可不还都可不可否 检查commit message否有符合格式.

生成change log,还又一点高级用法比如ghooks

这里就不细说了.全版请查看参考链接和validate-commit-msg

fix: A bug fix

docs: Documentation only changes

style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)

refactor: A code change that neither fixes a bug nor adds a feature

perf: A code change that improves performance

test: Adding missing tests or correcting existing tests

(Move up and down to reveal more choices)

现在项目中而且多出来dir:node_nodules, file:package.json, package-lock.json哪几种目录和文件,这是node安装模块产生的,而且都在node项目都可不还都可不可否 忽略掉,熟悉node的同学肯定都知道哪几种是有用的了.

Example:

PS D:gitpythonPractice> git log

commit 58a7a966acb9aa2fffc0e02c9ce3be64b8949991 (HEAD -> master)

Author: Zhiwei Tian hebeitianzhiwei@outlook.com

Date: Fri Aug 17 17:38:36 2018 +030

背景

最近在学习规范如何使用git来更高效的开发,发现有有有一个比较好用的来规范comment的工具,全都有想来记录一下。一般来说,commit message 应该清晰明了,说明本次提交的目的。全都有前要一点规范来使哪几种comment变得可读,commitizen则是最近发现的一款比较易用的工具。

PS D:gitpythonPractice> git cz

cz-cli@2.10.1, cz-conventional-changelog@2.1.0

PS:下面是一点基础介绍而且大佬请直接查看第二偏离

scope 用来说明本次Commit影响的范围,即简要说明修改会涉及的偏离 ,比如数据层、控制层、视图层等,

subjectcomment所在的位置,这次提交的简短描述

1.2 Body 是对本次 commit 的全版描述,可不还都可不可否 分成多行

1.3 Footer 偏离 只用于并都在情況

不兼容变动

而且当前代码与上有有有一个版本不兼容,则 Footer 偏离 以BREAKING CHANGE开头,里边是对变动的描述、以及变动理由和迁移最好的法律法律依据

1.1 HEAD

type用于说明 commit 的类别,只允许使用下面7个标识

feat:新功能(feature)

fix:修补bug

docs:文档(documentation)

style: 格式(不影响代码运行的变动)

refactor:重构(即都在新增功能,也都在修改bug的代码变动)

test:增加测试

chore:构建过程或辅助工具的变动

():

// 空一行

// 空一行

Body偏离 的格式是固定的,前要写成This reverts commit <hash>.,其中的hash是被撤回 commit 的 HSHA 标识符。

而且当前 commit 与被撤回的 commit,在同有有有一个发布(release)里边,没办法 它们都在会经常突然出现在 Change log 里边。而且两者在不同的发布,没办法 当前 commit,会经常突然出现在 Change log 的Reverts小标题下面

全局安装commitizennode模块

npm install -g commitizen

feat: A new feature

其中,Header 是必需的,Body 和 Footer 可不还都可不可否 省略

关闭 Issue

而且当前 commit 针对某个issue,没办法 可不还都可不可否 在 Footer 偏离 关闭你这俩 issue (可依次关闭过个issueCloses #123, #245, #992)

? Select the type of change that you're committing: (Use arrow keys)

git的提交一般的初学者总要使用git commit -m "hello world"来提交comment,而且一点像hello world另有有一个没办法 意义的comment你会无法理解这次的提交到底是为了哪几种,全都有我们歌词 歌词 儿儿就要规范一下comment的规范了。

运行完以上一律使用git cz 代替git commit来提交代码,同总要显示一下选项来自动生成符合格式的commit message.

1.4 Revert

还有并都在特殊情況,而且当前 commit 用于撤回以前的 commit,则前要以revert:开头,里边跟着被撤回 Commit 的 Header