I would like to restore a whole directory (recursively) from the history of my git repository.
There is only 1 branch (master).
I know the commit where error
There are two easy ways to do this:
If the commit that included the errors only included the errors, use git revert
to invert the effects of it.
If not, the easy path is this:
git checkout 348…
cp -a path/to/the/folder ../tmp-restore-folder
git checkout HEAD # or whatever
rm -rf path/to/the/folder
mv ../tmp-restore-folder path/to/the/folder
git add path/to/the/folder
git commit -m "revert …"