Norswap Norswap - 4 months ago 61
Git Question

Unstaged changes left after git reset --hard

Titles says it all.

After

git reset --hard
,
git status
gives me files within the
Changes not staged for commit:
section.

I've also tried
git reset .
,
git checkout -- .
and
git checkout-index -f -a
, to no avail.

So how can I get rid of those unstaged changes ?

EDIT:

This seems to hit only Visual Studio project files. Weird. See this paste: http://pastebin.com/eFZwPn9Z . What is special with those files is that in .gitattributes I have:

*.sln eol=crlf
*.vcproj eol=crlf
*.vcxproj* eol=crlf


Also,
autocrlf
is set to false in my global
.gitconfig
is that would be somehow relevant.

Answer

Okay, I've kind of solved the problem.

It seemed that the .gitattributes file, containing:

*.sln        eol=crlf
*.vcproj     eol=crlf
*.vcxproj*   eol=crlf

made the project files appear unstaged. I am clueless why that is, and I'm really hoping that someone privy to the ways of git will give us a nice explanation.

My fix was to remove these files, and to add autocrlf = false under [core] in .git/config.

This does not amount to exactly the same thing as the previous configuration, as it requires every dev to have autocrlf = false. I'd like to find a better fix.

EDIT:

I commented the incriminating lines, uncommented them and it worked. What the ... I don't even ... !