我在预提交挂钩中安装了mvn java-formatter:format
任务。此任务将格式化java源代码。
pushd src/ > /dev/null
mvn java-formatter:format
RETVAL=$?
if (($RETVAL == 1)); then
exit 1
fi
popd > /dev/null
我需要附加新格式化的源文件来提交。我怎么能这样做?
答案 0 :(得分:5)
pre-commit hook应该能够包含git add
,以修改即将提交的索引。
例如,请参阅“git pre-commit
hook, add file into index”。
尝试git add -A :/.
(请参阅“Add as if from the root folder of the repository”)
如果您只需要添加已经上演的文件,那么您需要:
git add $(git diff --name-only --cached)
。答案 1 :(得分:0)
可以这样做,但需要一个棘手的脚本。
在这里你可以找到解决的同样问题。在那里,它是在每次提交时更新文件版本,而不是格式化代码。它完全有效: https://github.com/addonszz/Galileo/tree/master/githooks
然后,您只需使用“格式化代码”算法替换文件“updateVersion.sh”上的“版本文件替换”算法。也许您需要更改一些内容,例如删除分支限制,因为在那里,只有在“develop”分支上才会运行脚本。
此外,它只会更改文件,如果是暂存的话。如果文件没有暂存,那么它什么都不做。更确切地说,它打印出每一步都在做什么。