I know that you can restore a previously removed directory as follows
git checkout {revision} -- {dir}
However, the history of all files in the restored directory is completely gone. They are all seen as 'new' files.
Is there a way to restore the directory while still preserving its files' history?