我试图在代码提交之前对代码运行格式化命令。如果没有格式化,我希望它不允许提交或在提交之前自动执行。
现在发生的是提交发生并且在提交之后应用格式作为非分段更改。
这是我的.git/hooks/pre-commit
:
#!/bin/bash
go fmt src/*.go
格式化后,将文件添加到索引:
#!/bin/bash
go fmt src/*.go
git add src/*.go
exit 0
在README中提到这个钩子可能是个好主意。这样你就不会忘记。
一个可能更严重的一点是,您对此提交的代码的编辑将与go fmt
更改无法区分。
在阅读了Ian的代码后,我有了一个似乎有效的想法。
#!/bin/bash
go fmt src/*.go
git add src/*.go