我今天在这里感觉很慢,但我正在尝试合并一些来自不使用 git 的第三方开发人员的代码。他从他在印度的 windows 机器上手动向我发送文件,在那里他用 Dreamweaver 编辑了这些文件(目前他将行尾类型设置为“CR”)。当我在我的 MacOSX 机器上获取文件时,它们有 windows 行尾(vim 中的 ^M)所以我用这个 perl 命令去除它们,perl -pe 's/\r\n|\n|\r/\n/g' orders.dev.php > orders.php
它去除了 windows 行尾,并且在我拥有的文件编辑器中工作得很好。问题是当我尝试将该文件添加到 git 时,整个文件显示为已更改。如果线路终止是对我有意义的窗口,但我正在剥离它。做了一些谷歌搜索后,我发现了这篇 github 帖子https://help.github.com/articles/dealing-with-line-endings看起来我可以使用 git 来强制一个特定的行结束,或者在 Mac 的情况下告诉它使用文件没有的任何东西,这对我来说似乎没有任何区别。底线我无法弄清楚如何显示实际开发人员所做的更改。它始终显示整个文件已更改。我错过了什么?
PS 对不起,篇幅太长,但我想表明我不只是在那里提出问题。我已经调查过了。只是由于某种原因,我还没有偶然发现我错过的东西(除了第二杯咖啡)。