我有一个回购,其中有两个文件,据说我是在本地更改的。
所以我被困在这里:
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: dir1/foo.aspx
# modified: dir2/foo.aspx
#
no changes added to commit (use "git add" and/or "git commit -a")
Doinggit diff
表示整个文件内容都发生了变化,尽管从目光投向它似乎是不正确的(diff似乎看不到,这似乎是常见的行范围)。
有趣的是,我不记得在本地更改这些文件。该仓库与一个远程仓库(私有,在GitHub.com,FWIW)一起使用。
无论我尝试了什么,我都不能放弃这些本地更改。我已经尝试了所有:
$ git checkout -- .
$ git checkout -f
$ git checkout -- dir1/checkout_receipt.aspx
$ git reset --hard HEAD
$ git stash save --keep-index && git stash drop
$ git checkout-index -a -f
换句话说,我已经尝试了如何丢弃Git中未分级的更改中介绍的所有内容。还有更多。但是,这两个文件仍然停留在“已更改但未提交”状态。
到底是什么原因导致两个文件像这样被卡住,看似“不可还原表”?
PS在上面显示了我已经尝试过的命令的列表中,我误解了git revert
我的意思git checkout
。对不起,我要感谢那些回答我应该尝试的人checkout
。我编辑了问题以更正它。我肯定已经尝试过了checkout
。
git diff --ignore-space-change
或git diff --ignore-all-space
使输出端的区别git diff
?