Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在执行git difftool--dir diff之后,出于某种原因修改了文件_Git_Newline_Difftool - Fatal编程技术网

在执行git difftool--dir diff之后,出于某种原因修改了文件

在执行git difftool--dir diff之后,出于某种原因修改了文件,git,newline,difftool,Git,Newline,Difftool,在执行git difftool-dir diff之后,出于某种原因修改了我的工作区文件。我一直在猜测它在转换crlf和lf之间的行尾等等。。。但是,执行git config core.autocrlf false或git config-global core.autocrlf false没有任何区别。我曾尝试使用windiff和beyond compare作为自定义差异工具,但没有任何帮助。这很糟糕,因为每次我查看.csproj文件中的一些更改时,项目都会重新加载,因为它说该文件已被外部修改。有

在执行git difftool-dir diff之后,出于某种原因修改了我的工作区文件。我一直在猜测它在转换crlf和lf之间的行尾等等。。。但是,执行git config core.autocrlf false或git config-global core.autocrlf false没有任何区别。我曾尝试使用windiff和beyond compare作为自定义差异工具,但没有任何帮助。这很糟糕,因为每次我查看.csproj文件中的一些更改时,项目都会重新加载,因为它说该文件已被外部修改。有什么想法吗?

声明自动转换的唯一其他方法是通过查看:

使用类似于*.txt eol=lf或*text=auto的指令 使用内容过滤器涂抹脚本
声明自动转换的唯一其他方法是通过参见:

使用类似于*.txt eol=lf或*text=auto的指令 使用内容过滤器涂抹脚本
除此之外,当您在回购协议的另一个克隆上进行差异时,请检查问题是否仍然存在。或者在另一个工作站上的repo克隆上。我在任何地方都没有看到任何.gittributes文件,因此我在项目目录中创建了一个文件,并添加了*-文本以禁用LF规范化,但它不起作用。顺便说一下,我使用的是GitHub for Windows中包含的Git Shell,而不是Git。所有其他克隆的行为都是一样的,它似乎仍然在以某种方式编辑文件。我再次确保关闭所有带有-system和-global标志的core.autocrlf设置。有什么想法吗@Voncy想再强调一点,如果我的所有更改都添加到临时区域,那么它似乎不再修改我的文件。除此之外,请检查在您的repo的另一个克隆上进行差异时问题是否仍然存在。或者在另一个工作站上的repo克隆上。我在任何地方都没有看到任何.gittributes文件,因此我在项目目录中创建了一个文件,并添加了*-文本以禁用LF规范化,但它不起作用。顺便说一下,我使用的是GitHub for Windows中包含的Git Shell,而不是Git。所有其他克隆的行为都是一样的,它似乎仍然在以某种方式编辑文件。我再次确保关闭所有带有-system和-global标志的core.autocrlf设置。有什么想法吗@我想再强调一点,如果我的所有更改都添加到临时区域,那么它似乎不再修改我的文件。