svnではsvn revert ./*
、現在のディレクトリと現在のディレクトリのみが元に戻されるようにすることができます。
svn revert
現在のディレクトリのみが元に戻されるのと同等のgitは何ですか?
があることは知ってgit reset --hard
いますが、現在のディレクトリだけでなく、すべてが元に戻ります。
gitの現在のディレクトリだけを元に戻すにはどうすればよいですか?
svnではsvn revert ./*
、現在のディレクトリと現在のディレクトリのみが元に戻されるようにすることができます。
svn revert
現在のディレクトリのみが元に戻されるのと同等のgitは何ですか?
があることは知ってgit reset --hard
いますが、現在のディレクトリだけでなく、すべてが元に戻ります。
gitの現在のディレクトリだけを元に戻すにはどうすればよいですか?
@vcsjonesが言うように、ここでの解決策は次のgit checkout
とおりです。
git checkout <refspec> -- path/to/directory # or path/to/file
<refspec>
たとえば、ここでHEAD
、つまり、現在の作業コミットを指定できます。このcheckout
コマンドの使用法は作業ツリーに影響しますが、インデックスには影響しないことに注意してください。
git revert
は「コミットを元に戻す」ために使用されます。これにより、コミットがツリーから消えることを理解する必要はありません(履歴に大混乱をもたらす可能性があります。必要に応じて、を参照してくださいgit rebase -i
)。元に戻されたコミットは、逆に、引数として指定されたコミットからのすべての変更をツリーに適用し、変更を使用して新しいコミットを作成することで構成されます(デフォルトのコミットメッセージは変更可能です)。
元に戻すフォルダーに移動して、次の操作を行います。
git checkout -- .
この回答で詳細を参照してください: https ://stackoverflow.com/a/16589534/207661
私がgit初心者だったとき(そしてターミナルを恐れていたとき)、最も簡単な方法は次のとおりでした。
特定のディレクトリから再帰的に実行する場合:
git checkout -- ./*
git checkout -- mydir/*