web-dev-qa-db-ja.com

git "revert"現在のディレクトリ

Svnでは、現在のディレクトリと現在のディレクトリのみを元に戻すsvn revert ./*を実行できます。

現在のディレクトリのみが元に戻されるsvn revertと同等のgitは何ですか?

git reset --hardがあることは知っていますが、現在のディレクトリだけでなくすべてを元に戻します。

Gitの現在のディレクトリだけを元に戻すにはどうすればよいですか?

28
pillarOfLight

@vcsjonesが言うように、ここでの解決策はgit checkout

git checkout <refspec> -- path/to/directory  # or path/to/file

どこ <refspec>は、たとえば、HEAD、つまり現在の作業コミットです。 checkoutコマンドのこの使用は、インデックスではなく作業ツリーに影響することに注意してください。

git revertは「コミットを元に戻す」ために使用されますが、これにより、コミットがツリーから消えることを理解してはなりません(履歴を破壊することになります。必要な場合は、git rebase -i)。元に戻すコミットは、、ツリーへの引数として指定されたコミットからのすべての変更を適用し、変更で新しいコミットを作成することで構成されます(デフォルトのコミットメッセージを使用) 、変更できます)。

54
fge

元に戻すフォルダに移動して、これを実行します。

git checkout -- .

この回答の詳細を参照してください: https://stackoverflow.com/a/16589534/207661

20
Shital Shah

私がgit初心者(そして端末を恐れている)だったとき、最も簡単な方法は次のとおりであることがわかりました。

  • 特定のサブディレクトリに戻すブランチに切り替えます
  • デスクトップに戻すサブディレクトリをコピーします
  • ブランチに戻る
  • gitディレクトリの置換するサブディレクトリをデスクトップにコピーしたサブディレクトリで上書きします
6
David Spence