feat(all): add support for signing commit (#2)

This commit is contained in:
David Mokel 2023-02-23 21:40:18 +08:00 committed by GitHub
parent 8e203b7689
commit 36dcaa56a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 7 deletions

@ -1,26 +1,38 @@
# gitcz
Golang版本Git Commitizencommit规范工具
Golang 版本 Git Commitizencommit 规范工具
# 快速安装
go install github.com/xiaoqidun/gitcz@latest
# 编译安装
```
git clone https://github.com/xiaoqidun/gitcz.git
cd gitcz
go build gitcz.go
```
# 手动安装
1. 根据系统架构下载为你编译好的[二进制文件](https://aite.xyz/product/gitcz/)
2. 将下载好的二进制文件重命名为gitcz并保留后缀
3. 把gitcz文件移动到系统PATH环境变量中的目录下
4. windows外的系统需使用chmod命令赋予可执行权限
2. 将下载好的二进制文件重命名为 gitcz 并保留后缀
3. 把 gitcz 文件移动到系统 PATH 环境变量中的目录下
4. windows 外的系统需使用 chmod 命令赋予可执行权限
# 使用说明
```shell script
# 添加文件到本地仓库
git add .
# 使用-amend参数可覆盖最近一次提交信息等同于git commit --amend
# 使用-S参数可进行签署commit操作等同于git commit -S
gitcz
# 推送文件到远程仓库
git push
```
# 规范文档
gitcz使用[angular git commit规范](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)
gitcz 使用:[angular git commit 规范](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines)

@ -78,6 +78,7 @@ func main() {
false,
"覆盖上次提交信息",
)
sign := flag.Bool("S", false, "对commit进行签名")
author := flag.Bool(
"author",
false,
@ -96,7 +97,7 @@ func main() {
czCommit.BreakingChange = InputBreakingChange()
czCommit.Closes = InputCloses()
commit := GenerateCommit(czCommit)
if err := GitCommit(commit, *amend); err != nil {
if err := GitCommit(commit, *amend, *sign); err != nil {
fmt.Println(err)
}
}
@ -114,7 +115,7 @@ func NewLine() {
fmt.Println()
}
func GitCommit(commit string, amend bool) (err error) {
func GitCommit(commit string, amend bool, sign bool) (err error) {
tempFile, err := ioutil.TempFile("", "git_commit_")
if err != nil {
return
@ -130,6 +131,9 @@ func GitCommit(commit string, amend bool) (err error) {
if amend {
args = append(args, "--amend")
}
if sign {
args = append(args, "-S")
}
args = append(args, "-F", tempFile.Name())
cmd := exec.Command("git", args...)
result, err := cmd.CombinedOutput()