How to make git ignore changes to submodules by default
Solution 1:
Note that even if there were such a config, git 2.0.1 (June 25th, 2014) would still show you a submodule which has been staged.
See commit 1d2f393 by Jens Lehmann (jlehmann
)
Currently setting
submodule.<name>.ignore
and/ordiff.ignoreSubmodules
to "all
" suppresses all output of submodule changes for the diff family, status and commit.For status and commit this is really confusing, as it even when the user chooses to record a new commit for an ignored submodule by adding it manually this change won't show up under the to-be-committed changes.
To add insult to injury, a later "git commit" will error out with "nothing to commit
" when only ignored submodules are staged.Fix that by making
wt_status
always print staged submodule changes, no matter what ignore settings are configured.
The only exception is when the user explicitly uses the "--ignore-submodules=all
" command line option, in that case the submodule output is still suppressed.
This also makes "git commit
" work again when only modifications of ignored submodules are staged, as that command uses the "commitable" member of thewt_status
struct to determine if staged changes are present.
See also commit c215d3d for the git commit
part.
Solution 2:
So to close this, no, there is not default option for it (sadly).