What changes does git diff
show on the file? On windows, I've seen issues with line-endings causing issues like this. In that case, look at what settings you have for git config core.autocrlf
and git config core.safecrlf
. There is some documentation for these settings here.
I would say, if you are using git svn
for integration with subversion, then do make sure autocrlf
is turned off. From what I can tell it is just broken in this configuration and it makes most of the tools think files have been changed, when you have done a checkout
to revert any changes.
If you are seeing a problem where you do git checkout
, and then git status
shows the file is still modified, and git diff
shows the file is modified on every line in the file, then this is the problem you are seeing.
core.autocrlf
If true, makes git convert CRLF at the end of lines in text files to LF
when reading from the filesystem, and
convert in reverse when writing to the
filesystem. The variable can be set to
input, in which case the conversion
happens only while reading from the
filesystem but files are written out
with LF at the end of lines.
Currently, which paths to consider
"text" (i.e. be subjected to the
autocrlf mechanism) is decided purely
based on the contents.
core.safecrlf
If true, makes git check if converting CRLF as controlled by
core.autocrlf is reversible. Git will
verify if a command modifies a file in
the work tree either directly or
indirectly. For example, committing a
file followed by checking out the same
file should yield the original file in
the work tree. If this is not the case
for the current setting of
core.autocrlf, git will reject the
file. The variable can be set to
"warn", in which case git will only
warn about an irreversible conversion
but continue the operation.
...
git checkout HEAD -- index.htm
(checking out from last committed state, instead of checking out from the index) works? – Tinigit checkout HEAD -- index.htm
worked for me! – Giltzow