我已经应用了一些静态代码分析 - 并将所有Java包级别字段转换为protected。这大多是正确的,因为我忘了明确设置访问修饰符,并且受保护通常是我在那些情况下所追求的。
不幸的是,我应用的重构是IntelliJ弱化访问修饰符,它也改变了很多公共 - >受保护的,建设者的等等。
所以一旦我有一个带有这样的语句的差异:
-int myField;
+protected int myField;
和
-public MyConstructor()
+protected MyConstructor()
有没有办法编写一个在提交期间运行的脚本,并且只允许上面的第一个例子,但没有第二个例子?我可以找出脚本,我只是不确定如何运行它 - 它是一个预提交钩子吗?
如果它是一个预提交钩子,你怎么检查这样一个脚本中的差异并接受/拒绝它基于greped它的某些字符串?
答案 0 :(得分:2)
是的,你可以使用涂抹/过滤器
来做到这一点有几种方法可以做到。
git hooks是一个在git生命周期的不同阶段运行的脚本 在正确的挂钩文件中,检查您需要的文件/内容,并随身携带。
钩子将在你的文件上运行并检查语法。
基本上,涂抹相当于每当你检查出任何东西时运行此代码
和clean相当于每当你检查中的任何内容时运行此代码。
图片来自此网址: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes