Giving a submodule "ignore=all" or "ignore=dirty" in .gitmodule successfully removes that module from `git status` queries. However, these same diffs are automatically added by git-add, eg `git add .` or `git add --all` adds the submodules that we want ignored. This seems inconsistent and confusing. Workflow reason: We want to be able to have supers and subs checked-out, make changes to both, but only update the SHA-1 pointer from super to sub when explicitly forced to do so, eg `git add -f subName`. This workflow prevents continuous merge conflicts from clashing SHA-1 pointers while still allowing `git add --all`, allowing a sort of middle ground between submodules and an untracked library. Teaching git-add about submodule.ignore and/or teaching .gitignore about submodules would be awesome. Also experimented with `git update-index --assume-unchanged subName`, but I believe that it does not get committed and besides also does not seem to have a way to `git add -f`. --- Note: currently on git version 2.14.1, but looking through the changelogs, did not see any changes since then that would enable this workflow. -Michael Scott-Nelson