我的问题可能来自于对 Git 某些方面的误解。当我因 Windows 机器上的更改而在 Mac 上将 CRLF 更改为 LF 行结尾时,我想到了这个问题。
1) 我首先在 OSX 上初始化一个新存储库,并将所有文件放入受 CRLF 行结尾影响的文件中。
2)第一次提交,由于设置了 core.autocrlf = input ,git 自动将行结尾更改为 LF
我的本地工作树中的文件仍然具有 CRLF 行结尾,但这里也提供了解决方案(How to Normalizeworking tree lineendings in Git?):
删除Index中的文件,并根据上次commit恢复索引+工作树:
git rm --cached -r .
git reset --hard
Run Code Online (Sandbox Code Playgroud)
现在出现了混乱:我的第一个提交 1) 包含转换后的 LF 行结尾,而我的本地树和索引则不包含。因此,我的期望是 git 应该显示工作树/索引和存储库之间的差异。但
git diff HEAD
git diff --chached
Run Code Online (Sandbox Code Playgroud)
没有列出任何更改?
git ×1