Web lists-archives.com

Is git-checkout's restoring d/f conflict really sane?

$ echo data > one
$ git add one
$ rm one
$ mkdir one
$ echo two > one/two
$ echo three > one/three
$ git checkout one
$ ls -l one
-rw-r--r-- 1 pclouds pclouds 5 May 14 16:36 one

Replacing a file is one thing. In this case we're deleting a directory
and unknown number of files inside (in this case 'two' and 'three').
Is this really a good thing to do?

If it's not but too late to do anything about git-checkout, could
git-restore do something better (and exactly what)?