git 如何在IntelliJ IDEA中禁用行分隔符中的差异?

btqmn9zl  于 2022-12-17  发布在  Git
关注(0)|答案(6)|浏览(835)

我在Windows上使用Intellij IDEA 14,在Unix服务器上使用Git作为VCS。Windows中的行分隔符是CLRF(\r\n)和Unix中的LF(\n)。在Git中,我使用config --global core.autocrlf input。这将在提交时将所有CRLF转换为LF。
当我在格式良好的文件上使用“重新格式化代码”选项时,IDEA会将文件标记为已更改,并仅在行分隔符中显示差异。

如何在IDEA中禁用该功能?

rbl8hiat

rbl8hiat1#

在窗口的右下角,将[CRLF]更改为[LF]

avwztpqn

avwztpqn2#

我也在Windows上开发,因为我们的服务器是由Linux驱动的,所有的代码都必须基于Linux,我宁愿把我所有的文件改为LF而不是CRLF。
从git命令行:

git config --global core.autocrlf false

我正在使用intellij idea,所以这很简单:
1)文件--〉设置--〉编辑器--〉代码样式:(对于任何将创建的新文件)
a.方案:默认
B.行分隔符:Unix和OS x(\n)
2)标记项目的根目录--〉文件--〉行分隔符--〉LF unix和os x(\n)(对于现有文件)
备注:您也可以使用dos2unix.exe等应用程序或其他脚本。
比我用命令行做的要多(你也可以从想法中做到这一点)

git commit -m "bla bla"
git add .
git push origin master

从那以后我就没收到过警告

cwtwac6a

cwtwac6a3#

如果您像我一样来到这个主题,想知道为什么您的单元测试(JUnit)无法将生成的JSON(或任何其他包含行分隔符的结构)与手工编写的JSON进行比较,那么您应该将字符串中的\n替换为\r\n(适用于Windows)。

mwkjh3gx

mwkjh3gx4#

在Intellij 17.3中,您可以在比较窗口的“比较方式”组合框中选择要比较“二进制内容”还是“文本”。在第二种情况下,CRLF和LF不会显示为“不同”。

7gyucuyw

7gyucuyw5#

选择文件夹-〉文件-〉文件属性-〉行分隔符-〉LF
所有文件将标记为changed

Make regular commit with line separator changes ounly.
It will fail but `changed` marks will disappear.

新文件将继承文件夹属性。

eblbsuwk

eblbsuwk6#

在parser.py同一目录中创建www.example.com。更改名称并运行。享受))

with open('./file_to_fix.py', 'r') as f:
    a = f.read()

with open('./file_to_fix.py', 'w') as f:
    # for i in a.split('\r\n'):
    #     f.write(i)
    aa = a.replace('\r\n', '\n')
    f.write(aa)

相关问题