Let's say I have a submodule set to directory "foo". If I remove this submodule in 1 commit (git rm -f foo) and then in a 2nd commit after that, physically commit those files, the next person that does a `git submodule update --recursive` results in failure because it says it can't overwrite files.
I'm guessing what happens here is that when the submodule is being updated, it is not de-inited first, so the 2nd commit is trying to be applied but the submodule files aren't removed first, so it thinks it is going to replace unversioned files.
Is there a way to make the submodule files be removed during an update, so that subsequent commits that may add files to replace the submodule aren't overwriting unversioned files?
Thanks.