I can’t seem to get rid of untracked content in Git’s submodules. Running git status yields:
# On branch master # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # (commit or discard the untracked or modified content in submodules) # # modified: bundle/snipmate (untracked content) # modified: bundle/surround (untracked content) # modified: bundle/trailing-whitespace (untracked content) # modified: bundle/zencoding (untracked content) # no changes added to commit (use "git add" and/or "git commit -a")
Adding the --ignore-submodules parameter hides these messages; but I wonder if there’s a way to get rid of this dirt in a more suitable, core-ish, manner.
Since the git status reports untracked content, the actual way to have a clean status would be to go into each one of those submodules and:
.gitignorespecific to each module..git/info/exclude, as peci1 reports in the comments.or add dirty to the submodule specification, as mentioned in ezraspectre‘s answer (upvoted).
or add a global
.gitignorefile (often~/.gitignore-global). Like for example.DS_Storeor in my caseCarthage/Buildas reported by Marián Černý in the comments. See.gitginoreman page: