I stupidly added a directory with many files ( ~450,000 ) to git, and want to 
delete them — later I plan to rebase/squash various commits to remove the files 
from the history altogether.

However, ‘git rm’ is VERY slow. For example, in a directory with 10,000 files 
(on a Mac), git v2.14.2

Git add . : 5.95 secs
Git commit : 1.29 secs
Git rm -r : 22 secs

50,000 files

Git add . : 25 secs
Git commit : 11 secs
Git rm : After 20 minutes, I killed it.

Looking at an optimized profile, all the time seems to be spent in 
“get_tree_entry” — I assume there is some huge object representing the 
directory which is being re-expanded for each file?

Is there any way I can speed up removing this directory?

Chris

Reply via email to