在预提交挂钩期间再次暂存文件?

时间:2015-07-21 06:49:57

标签: git githooks pre-commit-hook pre-commit

我在预提交挂钩中安装了mvn java-formatter:format任务。此任务将格式化java源代码。

pushd src/ > /dev/null

mvn java-formatter:format
RETVAL=$?
if (($RETVAL == 1)); then
        exit 1
fi

popd > /dev/null

我需要附加新格式化的源文件来提交。我怎么能这样做?

2 个答案:

答案 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”)

如果您只需要添加已经上演的文件,那么您需要:

答案 1 :(得分:0)

可以这样做,但需要一个棘手的脚本。

在这里你可以找到解决的同样问题。在那里,它是在每次提交时更新文件版本,而不是格式化代码。它完全有效: https://github.com/addonszz/Galileo/tree/master/githooks

然后,您只需使用“格式化代码”算法替换文件“updateVersion.sh”上的“版本文件替换”算法。也许您需要更改一些内容,例如删除分支限制,因为在那里,只有在“develop”分支上才会运行脚本。

此外,它只会更改文件,如果是暂存的话。如果文件没有暂存,那么它什么都不做。更确切地说,它打印出每一步都在做什么。

相关问题