即时通讯使用Windows系统将我的更改推送到用户使用macOS提交的git linux服务器,这可能是无效差异更改的问题吗?不会更改的更改会显示为已删除,并稍后以新的方式重新添加。即时通讯使用的崇高,也tryed NetBeans支持相同的行为...Git diff太多错误的更改
回答
远程回购混合cr/lf lineendings,以为它是unix,现在我只是设置原始的lineending,如果它再次发生。
Windows和基于* NIX操作系统使用文件结束字符不同的线路。在你的情况下,你要在你的文件中添加Windows Carriage return字符,并在MacOSX上删除它们。
在您的Sublime上,您可以更改保存的行结束字符以匹配MacOSX的行尾。请参阅is there a way to convert files line ending on saving。这样你就不会看到这些变化。
您也可以指示git自动使用core.autocrlf
配置进行转换。请参阅GitHub dealing with line endings
GitHub suggests您应该确保只使用\ n作为git处理的回购库中的换行符。有一个选项来自动转换:
$ 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"
core.autocrlf
将此变量设置为 “真” 几乎是与在文本文件不是 之外的所有文件上将文本 属性设置为“自动”相同保证被规范化:存储库 中包含CRLF的文件不会被触及。如果要在工作目录中使用CRLF行 结尾,即使存储库不包含 具有标准化的行结尾,也可以使用此设置。该变量可以设置为输入,在 哪种情况下不执行输出转换。
有三种不同的行结束符,但Git只提供他们两个人 (???)。 Windows使用'CRLF',Linux使用'LF'和OS X使用'CR'。因为Git似乎没有这样做,所以我们在makefile中有食谱来标准化行尾。 – jww
将此变量设置为“true”几乎与将文本属性设置为“auto”在所有文件中几乎相同,只是文本文件不能保证被标准化:存储库中包含CRLF的文件将不会被触摸。即使存储库没有标准化的行结尾,如果要在工作目录中拥有CRLF行结尾,请使用此设置。该变量可以设置为输入,在这种情况下不执行输出转换。 – LuFFy
我有四台OS X从10.4到10.10的机器。 (我的测试环境还包括带有GCC 3的Fedora 1和带有Visual C++ 6.0的Windows XP)。 – jww
- 1. 更新到Cocoapods 1.0后错误太多
- 2. 太多的递归错误
- 3. git diff最后提交加上所有未提交的更改?
- 4. 如何使用git diff找到添加的行(未更改)?
- 5. Git diff不列出文件的特定更改?
- 6. git结帐错误。路径太长
- 7. Git diff with textutil
- 8. Git diff忽略
- 9. Diff git fork
- 10. perforce diff to git
- 11. git diff日期?
- 12. 实时git diff
- 13. Git diff pattern
- 14. GIT bash没有通过“git diff”识别对“.classpath”文件的更改
- 15. 为什么“git log --name-only”显示一个文件更改,但“git diff”显示更多?
- 16. 错误:太多arguements运作
- 17. 错误太多重定向
- 18. 参数太多错误
- 19. 团结3D - 错误太多
- 20. Jquery太多递归错误
- 21. python错误 - 太多值
- 22. MySQL'太多密钥'错误
- 23. MySQL错误“连接太多”
- 24. git diff,只是改变了字符
- 25. git diff给出了ambigious的参数错误
- 26. 如何在git diff中更改制表符宽度?
- 27. 我可以让git diff忽略权限更改
- 28. Git diff报告本地更改'旧模式'/'新模式'
- 29. Git克隆导致很多nuget错误 - 怀疑我提交的太多了
- 30. “git diff”中的“diff --git”输出是指什么?
[git-diff忽略^ M]的可能重复(https://stackoverflow.com/questions/1889559/git-diff-to-ignore-m) – LuFFy