On Thu, 2017-11-30 at 12:05 -0500, David Turner wrote: > git submodule add https://my-git-repo blort > git commit -m 'add a submodule' > git reset HEAD^ blort > > The reset deletes the gitlink, but does not delete the entry in > .gitmodules. On one hand, this is exactly what the user asked for -- > they wanted the path 'blort' to be changed in the index, and that's > what they got. On the other hand, the behavior differs from git rm, > and seems confusing: most folks don't want an entry in .gitmodules > which doesn't correspond to a gitlink. > > If reset isn't the right thing for me to do when I want to say "oops" > about adding a submodule, then what is? I could do: > git reset HEAD^ blort .gitmodules > but what if I added two submodules and only wanted to undo the > addition > of one? Also, resetting the deletion of a submodule has an even worse issue -- you end up with a gitlink but no entry in .gitmodules.