我正在运行一个混合的环境,并保留一个中央裸露的存储库,在那里我拉并推动大部分东西。该集中式存储库在Linux上运行,我可以查看Windows XP/7,Mac和Linux。在所有存储库中,我将以下行放在我的.git/config:

[core]
     autocrlf = true

我没有国旗 safecrlf=true 任何地方。第一次在一个Windows机器(XP)上修改东西时,没有问题,当我查看diff时,它看起来还不错。但是,当我在其他Windows机器(7)上执行相同操作时,所有线路均显示为更改,但本地线路结束如预期(在十六进制编辑器中检查时)。 MacOSX罐子也是如此。有时我会感觉到不同的系统在线路结尾处摔跤,但是我不确定(我在所有更改特定文件的时间都失去了跟踪)。

我没有曾经有 autocrlf 设置,但在数月前设置旗帜。这可能导致我目前的问题吗?我需要再次克隆所有东西以松开一些旧的行李吗?还是还有其他需要配置的东西?我试过 git checkout -- . 大约一百万次,但没有成功。

有帮助吗?

解决方案

您需要设置 autocrlftrue 在您正在使用的每台计算机上(在全球)或存储库的每个副本(在本地)中。您克隆的存储库的设置未应用于本地仓库。

另一个答案是,您在存储库中的文件中混合了线路结尾。

可以为每种源文件类型设置结帐时的过滤器,以纠正其行末尾,并在CheckIn上重置为回购标准。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top