在 git-commit 之前对所有文件运行 astyle

在 git-commit 之前对所有文件运行 astyle

我习惯astyle将 Java 和 C++ 统一起来。有时我会写一些东西,然后在运行之前将其签入 git astyle。所以我最终会得到一条提交消息,Run astyle这会使 cherry-picking 等变得更加困难。

我尝试编写一个预提交钩子,但它无法改变即将提交的内容,它只会在下一次提交中修复它。我尝试了一个过滤器,但它不会更改磁盘上的文件。

除了编写一个小脚本(并记得使用它)之外,是否有一些巧妙的方法可以让 git 在评估更改之前运行某些东西?

答案1

听起来如果你同时使用过滤器(修复已提交的文件)和预提交挂钩(修复磁盘上的文件),它就会做你想做的事情。

答案2

尽管这个问题很老了,但我还是缺少一个答案:

您可以git add [options]在预提交挂钩内进行操作,因此解决方案非常简单:只需添加由您使用的格式化程序更改的每个文件,然后继续提交。

相关内容