Por que o "git reset HEAD" não desfaz minhas alterações não confirmadas e sem etapas?

Eu anteriormente era capaz de desfazer alterações através do SourceTree executando a função "Descartar", que sob o capô produz este comando:

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q HEAD -- myproj.csproj 
git -c diff.mnemonicprefix=false -c core.quotepath=false checkout HEAD -- myproj.csproj

De repente, isso não funciona. Eu faço o descarte, nenhum erro ocorre, atualize novamente a exibição, mas os arquivos ainda estão "modificados". Tentei fazer o mesmo na linha de comando com o mesmo resultado:

c:\myproject> git reset HEAD

Unstaged changes after reset:
M       myproj.csproj

Por que ainda está listado como uma mudança sem estágio?

Eu verifiquei que o arquivo é realmente gravável (nenhum processo está bloqueando)

atualizar

git checkout também não funcionou:

C:\myproject>git checkout myproj.csproj

C:\myproject>git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   myproj.csproj
#
no changes added to commit (use "git add" and/or "git commit -a")

Atualização 2 Também tentei:

git checkout --git checkout -- .git checkout HEAD

, nenhum dos quais resolve meu problema

atualização 3 - grande passo mais perto:

Acontece que quando eu faço o checkout, o .csproj é realmente revertido para a versão correta,mas a versão com check-out usa uma versão diferentecodificação de feed de linha. Enquanto a versão de check-in possui CR-LF (0D-0A) para alimentação de linha, o check-out tem apenas LF (0A). Portanto, o git acredita que o arquivo seja diferente em cada linha. Porque isso?

atualização 4: adicionou a segunda linha de comandos git emitida pelo SourceTree. Eu não percebi que da primeira vez, por isso penseigit reset HEAD faria qualquer coisa. Isso não muda o fato de que o problema subjacente ainda está relacionado ao CR / LF (acho)

resumo Nunca encontrei uma solução para o problema, mas "resolvi" verificando o arquivo. Minha pergunta original não continha informações de que o SourceTree realmente emitiu os comandos corretos para reverter o que eu queria, então a maioria das respostas aqui aborda esse problema. oreal A questão ainda não está clara, mas minha teoria principal é que ela estava relacionada ao CR / LF.

questionAnswers(6)

yourAnswerToTheQuestion