我正在使用Windows上的git遇到一个经常出现的问题(我从包Git-1.6.0.2-preview20080923.exe运行MSysGit,我也尝试使用Git-1.5.6.1-preview20080701.exe,结果是一样的).
当我没有更改它们时,一些文件显示为已更改,并且在git-gui中显示删除的内容与添加的内容(通常是整个文件)相同,即
- This line was here before
- This line was here before as well
- and this line too...
+ This line was here before
+ This line was here before as well
+ and this line too...
我试过git checkout -f
和git reset --hard
,但文件保持不变.我也尝试在硬重置之前删除文件.我试着谷歌搜索但找不到任何相关的东西.
你能告诉我如何解决这个问题,或者你会采取什么步骤来确认这是Git而不是我的系统的问题,所以我可以把它报告为bug.
如果您没有在文本编辑器或Git配置中处理过问题,则可能会出现行结束问题.
要在Git中解决此问题,请在Git配置文件中设置autocrlf选项:
$ git config --global core.autocrlf true
这会导致git在签出文件时将换行符转换为系统的标准,并在提交时转换为LF换行符.然后,您需要签出一个新的工作副本,它将根据autocrlf设置过滤行结尾.
$ git reset --hard HEAD $ git commit -a
这会通过标准化行结尾来提交任何更改的文件,因此现在您的repo是一致的,并且您不会产生更多的行结束问题.