有时当我修改文件并通过git checkout -- fileName
丢弃更改时,Git仍然表示它已被修改。 Git diff表示每行已被删除并重新添加,但是,对于眼睛来说,线条看起来是相同的。当你做“git diff -w”时没有区别。目前我承诺这些虚假变化向前推进。我该如何解决这个问题?
我正在使用git 1.9.0.msysgit.0
我怀疑这是一个行尾问题。当我用vi -b打开文件时,我们看到^ M表示回车。我没有使用autocrlf,因为冲突的文件只在Windows上修改。
命令git reset --hard
无法解决问题。
答案 0 :(得分:1)
有些事要尝试 -
答案 1 :(得分:0)
行结尾可能与它有关。无论如何,运行
git status
显示修改后的文件。您可以再次git checkout
该文件以使其保持清洁。
作为参考,核选项是:
git reset --hard HEAD
git clean -xdf .
来自存储库的根目录。此将使存储库包含HEAD提交的内容 - 您将失去其他所有内容。请阅读the git-clean
manpage。
答案 2 :(得分:0)
尝试使用git checkout filename
而不使用语句末尾的--