web-dev-qa-db-ja.com

コマンドラインからgit-revertするにはどうすればよいですか?

TortoiseGitでgit revertを実行すると、次の素敵なウィンドウが表示されます。

enter image description here

ただし、コマンドラインから同じことを実行したい場合は、 ドキュメント で完全に混乱してしまいます。コミットされていないローカルの変更をすべて元に戻すにはどうすればよいですか?

33
ripper234

すべてのローカル変更を破棄するには、revertを使用しません。 revertはコミットを元に戻すためのものです。代わりに:

 $ git reset --hard 

もちろん、あなたが私のような場合、そのコマンドを入力してから7マイクロ秒後に、削除したくないものを思い出すので、代わりに使用することをお勧めします。

 $ git stash save 'Some changes' 

これにより、作業ディレクトリからの変更は破棄されますが、取得可能になります。

74
William Pursell

まだコミットしていないと仮定すると、次のこともできます。

git checkout filename(s)
20
Marc Hughes

私のようなGit初心者は、working directory' != pwd

むしろ、ツリー全体を意味します。

だから、私はウィリアムズの推奨事項を使用することに感謝しています:

$ git stash save 'Some changes'

次の方法で元に戻すことができます。

$ git stash pop
2
Joerg Rade