Linux Git差异太多错误的更改

Linux Git差异太多错误的更改,linux,git,macos,sublimetext3,netbeans-7,Linux,Git,Macos,Sublimetext3,Netbeans 7,我使用windows系统将我的更改推送到git linux服务器,在那里用户使用macOS进行提交,这可能是无效差异更改的问题吗?非更改的更改将显示为已删除,然后以新的形式重新添加。我正在使用sublime,也尝试使用同样行为的netbeans 基于Windows和*nix的操作系统在文件中使用不同的行尾字符。在您的情况下,您将在文件中添加Windows回车符,而在MacOSX上,这些回车符将被删除 在Sublime上,您可以在保存时更改行尾字符,以匹配MacOSX的行尾。看见这样您就不会看到这

我使用windows系统将我的更改推送到git linux服务器,在那里用户使用macOS进行提交,这可能是无效差异更改的问题吗?非更改的更改将显示为已删除,然后以新的形式重新添加。我正在使用sublime,也尝试使用同样行为的netbeans


基于Windows和*nix的操作系统在文件中使用不同的行尾字符。在您的情况下,您将在文件中添加Windows回车符,而在MacOSX上,这些回车符将被删除

在Sublime上,您可以在保存时更改行尾字符,以匹配MacOSX的行尾。看见这样您就不会看到这些更改

您还可以指示git使用
core.autocrlf
config自动进行转换。请参见

,您应该确保在git处理的repos中仅将\n用作换行符。有一个自动转换选项:

$ git config --global core.autocrlf true
当然,这是说将crlf转换为lf,而您希望将cr转换为lf。我希望这仍然有效

然后转换您的文件:

# Remove everything from the index
$ git rm --cached -r .

# Re-add all the deleted files to the index
# You should get lots of messages like: "warning: CRLF will be replaced by LF in <file>."
$ git diff --cached --name-only -z | xargs -0 git add

# Commit
$ git commit -m "Fix CRLF"
#从索引中删除所有内容
$git rm——缓存的-r。
#将所有已删除的文件重新添加到索引中
#您应该会收到很多信息,如:“警告:CRLF将被中的LF替换。”
$git diff--cached--name only-z | xargs-0 git add
#承诺
$git提交-m“修复CRLF”
依照

core.autocrlf

将此变量设置为“true”与设置文本几乎相同 属性在所有文件上设置为“自动”,文本文件除外 保证规范化:存储库中包含CRLF的文件 不会被碰。如果您想使用CRLF线路,请使用此设置 工作目录中的结尾,即使存储库没有 具有标准化的行尾。此变量可以设置为输入,在 在这种情况下,不执行输出转换


远程回购有混合的cr/lf行尾,原以为是unix,现在如果再次发生,我只设置原始行尾。

可能有三个不同的行尾重复,但Git只提供其中两个(???)。Windows使用
CRLF
,Linux使用
LF
,OS X使用
CR
。我们的makefile中有一些规范化行尾的方法,因为Git似乎不这样做。将此变量设置为“true”几乎与将所有文件上的文本属性设置为“auto”相同,只是文本文件不能保证规范化:存储库中包含CRLF的文件不会被触碰。如果您希望在工作目录中有CRLF行尾,即使存储库没有标准化的行尾,也可以使用此设置。这个变量可以设置为input,在这种情况下不执行输出转换。(我的测试环境还包括FEDORA 1与GCC 3和Windows XP与Visual C++ 6)。@ JWW,酷,现在复制您的回购到不同的文件夹,尝试运行给定的命令和检查它是否工作。这里有一个你可以借你的专业知识: