ローカルで変更したと思われる2つのファイルがあるリポジトリがあります。
だから私はこれで立ち往生しています:
$ 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では見落とされているように見える一般的な行範囲があるようです)。
興味深いことに、これらのファイルをローカルで変更したことを覚えていません。このリポジトリは、1つのリモートリポジトリ(プライベート、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でステージングされていない変更を破棄するにはどうすればよいですか?で説明されているすべてを試しました。プラス以上。しかし、2つのファイルは「変更されたがコミットされていない」としてスタックしたままです。
一体何が原因で2つのファイルがこのようにスタックし、一見「テーブルを元に戻さない」のでしょうか?
PS私がすでに試したコマンドを示している上記のリストでgit revert
、私が意図しgit checkout
たときに誤って書いた。申し訳ありませんが、試してみるべきだと答えてくれた皆さんに感謝しますcheckout
。質問を編集して修正しました。私は間違いなくすでに試しましたcheckout
。
git diff --ignore-space-change
かgit diff --ignore-all-space
の出力の違いを作りますかgit diff
?