The git-restore(1) implementation looks like about 35 lines of code. Then add a little more complexity for some apparent common functions that needed to be factored out.
For a dedicated "restore" it's worth it to me... (who will not maintain it)
At the hidden cost of educating millions of users how git actually operates once they can't restore a file
At the hidden cost of educating millions of users how git actually operates once they can't restore a file