mirror of
https://github.com/xiaoqidun/gitcz.git
synced 2024-11-23 07:56:46 +08:00
feat(all): add support for signing commit (#2)
This commit is contained in:
parent
8e203b7689
commit
36dcaa56a5
22
README.md
22
README.md
@ -1,26 +1,38 @@
|
|||||||
# gitcz
|
# gitcz
|
||||||
Golang版本Git Commitizen,commit规范工具
|
|
||||||
|
Golang 版本 Git Commitizen,commit 规范工具
|
||||||
|
|
||||||
# 快速安装
|
# 快速安装
|
||||||
|
|
||||||
go install github.com/xiaoqidun/gitcz@latest
|
go install github.com/xiaoqidun/gitcz@latest
|
||||||
|
|
||||||
# 编译安装
|
# 编译安装
|
||||||
|
|
||||||
```
|
```
|
||||||
git clone https://github.com/xiaoqidun/gitcz.git
|
git clone https://github.com/xiaoqidun/gitcz.git
|
||||||
cd gitcz
|
cd gitcz
|
||||||
go build gitcz.go
|
go build gitcz.go
|
||||||
```
|
```
|
||||||
|
|
||||||
# 手动安装
|
# 手动安装
|
||||||
|
|
||||||
1. 根据系统架构下载为你编译好的[二进制文件](https://aite.xyz/product/gitcz/)
|
1. 根据系统架构下载为你编译好的[二进制文件](https://aite.xyz/product/gitcz/)
|
||||||
2. 将下载好的二进制文件重命名为gitcz并保留后缀
|
2. 将下载好的二进制文件重命名为 gitcz 并保留后缀
|
||||||
3. 把gitcz文件移动到系统PATH环境变量中的目录下
|
3. 把 gitcz 文件移动到系统 PATH 环境变量中的目录下
|
||||||
4. windows外的系统需使用chmod命令赋予可执行权限
|
4. windows 外的系统需使用 chmod 命令赋予可执行权限
|
||||||
|
|
||||||
# 使用说明
|
# 使用说明
|
||||||
|
|
||||||
```shell script
|
```shell script
|
||||||
# 添加文件到本地仓库
|
# 添加文件到本地仓库
|
||||||
git add .
|
git add .
|
||||||
# 使用-amend参数可覆盖最近一次提交信息,等同于git commit --amend
|
# 使用-amend参数可覆盖最近一次提交信息,等同于git commit --amend
|
||||||
|
# 使用-S参数可进行签署commit操作,等同于git commit -S
|
||||||
gitcz
|
gitcz
|
||||||
# 推送文件到远程仓库
|
# 推送文件到远程仓库
|
||||||
git push
|
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)
|
||||||
|
8
gitcz.go
8
gitcz.go
@ -78,6 +78,7 @@ func main() {
|
|||||||
false,
|
false,
|
||||||
"覆盖上次提交信息",
|
"覆盖上次提交信息",
|
||||||
)
|
)
|
||||||
|
sign := flag.Bool("S", false, "对commit进行签名")
|
||||||
author := flag.Bool(
|
author := flag.Bool(
|
||||||
"author",
|
"author",
|
||||||
false,
|
false,
|
||||||
@ -96,7 +97,7 @@ func main() {
|
|||||||
czCommit.BreakingChange = InputBreakingChange()
|
czCommit.BreakingChange = InputBreakingChange()
|
||||||
czCommit.Closes = InputCloses()
|
czCommit.Closes = InputCloses()
|
||||||
commit := GenerateCommit(czCommit)
|
commit := GenerateCommit(czCommit)
|
||||||
if err := GitCommit(commit, *amend); err != nil {
|
if err := GitCommit(commit, *amend, *sign); err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -114,7 +115,7 @@ func NewLine() {
|
|||||||
fmt.Println()
|
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_")
|
tempFile, err := ioutil.TempFile("", "git_commit_")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
@ -130,6 +131,9 @@ func GitCommit(commit string, amend bool) (err error) {
|
|||||||
if amend {
|
if amend {
|
||||||
args = append(args, "--amend")
|
args = append(args, "--amend")
|
||||||
}
|
}
|
||||||
|
if sign {
|
||||||
|
args = append(args, "-S")
|
||||||
|
}
|
||||||
args = append(args, "-F", tempFile.Name())
|
args = append(args, "-F", tempFile.Name())
|
||||||
cmd := exec.Command("git", args...)
|
cmd := exec.Command("git", args...)
|
||||||
result, err := cmd.CombinedOutput()
|
result, err := cmd.CombinedOutput()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user