使 git 忽略连续的换行符

Make git ignore consecutive newlines

我想在 git 中只跟踪代码 (java),我想让它忽略上次提交中添加的多个换行符(如果没有其他代码更改) ) 例如:

我想要这个

class MyApp{
    public static void main(String[] args) {
        if (args.length > 0) {
            for(String s : args){
                system.err.println("arg is "+s+"\n");
                }//end-for
            }//end-if
        }//end-met
    }//end-class

还有这个:

class MyApp{


    public static void main(String[] args) {


        if (args.length > 0) {
            for(String s : args){

                system.err.println("arg is "+s+"\n");

                }//end-for
            }//end-if


        }//end-met



}//end-class
    

被认为是相同的(只有添加非换行符时代码才应该被视为不同)

这样做的目的是避免在仅添加噪音时复制同一文件(如果我在 git 中搜索文件,我希望仅在发生“实际”代码更改时获取)

Git 没有提供 ignore changes to a tracked file.

的方法

如果你想在提交之前格式化文本,你可以使用一个干净的过滤器(在 .gitattributes 中用 filter 属性指定)以你想要的任何方式自动格式化它。您可以在 gitattributes(7) 手册页中查看如何执行此操作的文档。否则,Git.

无法实现您的目标