在 Win7x32 上使用 Cygwin,当我用来sed
替换文件中的某些值时,git
会认为整个文件已被完全重写(即插入 500 次,删除 500 次)。这是怎么回事?文件中实际上只有一行发生了更改,替换值的长度与原始值相同。我希望git
只识别更改的行。唯一似乎完全改变的是从 读取的 inode 和时间值stat some/file.txt
。有没有办法告诉git
我在调用期间忽略任何相关的更改值sed
,或者告诉我sed
不要更改任何导致git
看到具有全新内容的文件的值?
答案1
我很少使用 Windows,但也许sed
可以更改您的行尾标记。该file
命令将告诉您正在使用哪种文本编码。此外,您可以cat -e
在调用之前和之后运行sed
;如果文件是针对 Windows 编码的,则每行将以 结尾^M
。