In svn it's possible to do svn revert ./*
in which the current directory and ONLY the current directory gets reverted.
What is the git equivalent to svn revert
in which only the current directory gets reverted?
I know that there's git reset --hard
, but it reverts everything and not just the current directory.
How would I revert just the current directory in git?
Like @vcsjones says, the solution here is git checkout
:
git checkout <refspec> -- path/to/directory # or path/to/file
where <refspec>
can, for instance, be HEAD
, that is, the current working commit. Note that this usage of the checkout
command will affect the working tree BUT NOT THE INDEX.
git revert
is used to "revert a commit", and by this, it should NOT be understood that the commit disappears from the tree (it would play havoc with history -- if you want that, look at git rebase -i
). A reverted commit consists of applying, in reverse, all changes from the commit given as an argument to the tree and create a new commit with the changes (with a default commit message, which you can modify).