Git Submodules

I have no idea how git submodules work and I hate them wholeheartedly. They clog the staging area of git status with information about “new commits” even if I didn’t do anything inside git submodules. Git constantly leaves them in a state where any git submodule command yields errors. (sidenote: error: Entry ‘foo’ would be overwritten by merge. Cannot merge.) . They’re constant stream of frustration. God forbid if someone changes submodule version on the remote! I don’t know any other system which would update dependencies on its own and would do it so badly that I want to scream and break things.

I like git (sidenote: Stockholm syndrome.) but clearly something went wrong with submodules design.

For future reference, I’m leaving the spark of sanity in this land of madness.

[alias]
    submodule-reset = submodule update --recursive --init --force