前言
在实际的前端开发过程中,经常需要在开发中使用 git 来管理版本,同时为了记录发版日志和贡献者等信息,我们需要在 commit 信息中加入这些信息。随着团队规模和项目复杂度的不断提高,commit 信息的格式也越来越规范和固化,不光包括了编写规范,同时还需遵守一些合理的提交流程。此时,我们需要一个 npm 包来协助我们更好地管理 commit 信息,而 git-chauthor 正是一款比较好用的 npm 包。
git-chauthor 是什么
git-chauthor 是一款基于 Node.js 的 npm 包工具,旨在协助开发者快速规范提交 Git commit 信息,在记录发版日志和贡献者等信息方面提供便利。具体地,它支持在 commit 中添加作者、共同作者等信息,并且还提供了多种格式和功能的快速操作。
git-chauthor 的安装和使用非常简单,下面我们将详细介绍其具体的使用方法。
安装 git-chauthor
git-chauthor 是一个可通过终端进行安装的 npm 包,因此需要先安装 Node.js 和 npm。
接下来,在终端中输入以下命令,即可安装 git-chauthor:
npm install -g git-chauthor
使用 git-chauthor
安装成功后,我们就可以通过使用 git changelog 命令来生成我们需要的 commit 日志信息了。下面我们将详细介绍 git-chauthor 的使用流程。
配置 git-chauthor
首先,我们需要在项目中创建一个 .authors 文件,文件的格式如下:
[<commit-author-name>] name = Your name email = your.email@gmail.com
这个文件记录了你和你的协作者(如果有)的各项信息,在项目开发中的 Git commit message 中,你可通过 git-chauthor 的变量 $AUTHOR 和 $COAUTHOR 来快速添加作者和协作者的信息。在 .authors 文件中,必须指定 name 和 email 字段,但当你使用 git-chauthor 时,就可以不用手动填写作者的姓名和邮箱了。
使用 git-chauthor 创建提交记录
在你的 commit message 中,你可以使用 $AUTHOR 和 $COAUTHOR 变量来动态地指定作者和协作者。
你只需在提交时将 commit message 变更到以下格式:
[Your commit message] $AUTHOR $COAUTHOR
其中,"$AUTHOR"部分即为你在 .authors 文件中指定的个人作者信息,"$COAUTHOR" 部分则是协作者的信息。
生成 changelog
在你的 commit message 包含 $AUTHOR 和 $COAUTHOR 信息后,使用 git-chauthor 即可轻松生成 changelog:
$ git changelog # 产出 CHANGELOG with authors $ git changelog -u $AUTHOR -c $COAUTHOR -s 1.0 # 产出指定版本CHANGELOG及增量提交信息 $ git changelog -h # 查看帮助
在生产 changelog 时,默认情况下,git-chauthor 会自动将提交信息按照作者和协作者分类,并按照时间顺序整理出 changelog 信息。同时,git-chauthor 还支持多种自由格式。
总结
git-chauthor 可以通过配置文件来快速管理提交 Git commit 信息,在记录发版日志和贡献者等信息提供了便利。本文介绍了 git-chauthor 的安装及使用方法,相信这将对需要记录发版日志和贡献者等信息的前端开发者有一定的指导意义,更好地管理自己的提交信息。
示例代码
// 示例 .authors 文件 [John Smith] name = John Smith email = john.smith@gmail.com [James Ledger] name = James Ledger email = james.ledger@gmail.com
// 示例提交信息 feat: 开发了一个新的功能 $AUTHOR $COAUTHOR
// 示例 changelog 输出 ## 0.0.1 (2020-01-01) * **feat:** 开发了一个新的功能 ([@John Smith][john.smith] and [@James Ledger][james.ledger]) [john.smith]: mailto:john.smith@gmail.com [james.ledger]: mailto:james.ledger@gmail.com
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005600e81e8991b448dde55