提交后Git预提交运行?

时间:2017-12-19 17:59:38

标签: git githooks

我正在尝试在代码提交之前对代码运行格式化命令。如果没有格式化,我希望它不允许提交或在提交之前自动执行。

现在发生的是提交发生,并且在提交之后将格式化应用为非分段更改。

这是我的.git/hooks/pre-commit

#!/bin/bash

go fmt src/*.go

2 个答案:

答案 0 :(得分:1)

格式化后,将文件添加到索引:

#!/bin/bash

go fmt src/*.go
git add src/*.go
exit 0

在README中提到这个钩子可能是个好主意。这样你就不会忘记。

可能更严重的一点是,您对此提交的代码的编辑与go fmt更改无法区分。

答案 1 :(得分:0)

在阅读Ian的代码之后,我有了一个似乎有效的想法。

#!/bin/bash

go fmt src/*.go
git add src/*.go