go-zero项目git hook配置

343 阅读1分钟

配置pre-commit hook,格式化*.api文件和*.go文件

复制.git/hooks/pre-commit.sample 为 .git/hooks/pre-commit 内容如下:

#!/bin/sh

# 格式化api代码
goctl api format --dir ./
find . -name "*.api"|xargs git add --

# 格式化修改的go文件
names=`git diff --cached --name-only | grep '.go$'`
for item in $names
do
    gofmt -w $item
    git add $item
done

提交之前,会自动格式化api文件和go文件。
不过,api文件的内容不能为空,不然执行api文件格式化命令的时候,会报下面的错误:

2024/04/07 10:08:55 missing input