Eclipse EGit在Linux 64位系统中将CLRF未修改的文件标记为已修改

3

我正在64位Linux上使用Eclipse Juno和EGit,即使它们没有被修改,它仍然显示许多文件已经修改。可能是因为我以前在Windows上检出了这个代码库。在不断尝试核心设置和工作区设置后,我陷入困境。

如何让EGit正确地标记未修改的文件?

1个回答

1
这是一个相当复杂的问题,已经在这里讨论过:http://www.mail-archive.com/git@vger.kernel.org/msg09439.html 简要解释是,最初以二进制形式(包括CRs)存储在仓库中的文件现在被处理为文本,因此git对这些文件进行校验和(不包括CRs),它们“看起来”已修改,因为校验和不匹配。
不幸的是,git不知道文件在仓库中是以文本还是二进制模式存储的(它不在git文件格式规范中),因此无法有效地解决此问题。期望人们通过重新将这些文件作为文本重新提交来“修复”他们的仓库,因为它们一开始就不应该以二进制形式存储。
如果您不需要git转换这些文件的行尾,另一种处理问题的方法是将Linux仓库设置为将这些文件视为二进制文件(例如,在“.gitattributes”文件中添加一个“binary”行)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接