path: root/Documentation/git-submodule.txt
diff options
authorJunio C Hamano <>2016-05-17 21:38:19 (GMT)
committerJunio C Hamano <>2016-05-17 21:38:20 (GMT)
commit21b2e60400754732bd509f393b3368f9fa530602 (patch)
tree1fb76a8061bd2f5a2000c8616568ee2efa91b6ce /Documentation/git-submodule.txt
parentfd87e705b377402f011f3dce4294135b8fba91f8 (diff)
parentf6a527997743b79d6986a16313a7488cfc53d123 (diff)
Merge branch 'sb/submodule-deinit-all'
Correct faulty recommendation to use "git submodule deinit ." when de-initialising all submodules, which would result in a strange error message in a pathological corner case. * sb/submodule-deinit-all: submodule deinit: require '--all' instead of '.' for all submodules
Diffstat (limited to 'Documentation/git-submodule.txt')
1 files changed, 13 insertions, 6 deletions
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 13adebf..9226c43 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -13,7 +13,7 @@ SYNOPSIS
[--reference <repository>] [--depth <depth>] [--] <repository> [<path>]
'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
'git submodule' [--quiet] init [--] [<path>...]
-'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
+'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
[-f|--force] [--rebase|--merge] [--reference <repository>]
[--depth <depth>] [--recursive] [--jobs <n>] [--] [<path>...]
@@ -140,12 +140,15 @@ deinit::
tree. Further calls to `git submodule update`, `git submodule foreach`
and `git submodule sync` will skip any unregistered submodules until
they are initialized again, so use this command if you don't want to
- have a local checkout of the submodule in your work tree anymore. If
+ have a local checkout of the submodule in your working tree anymore. If
you really want to remove a submodule from the repository and commit
that use linkgit:git-rm[1] instead.
-If `--force` is specified, the submodule's work tree will be removed even if
-it contains local modifications.
+When the command is run without pathspec, it errors out,
+instead of deinit-ing everything, to prevent mistakes.
+If `--force` is specified, the submodule's working tree will
+be removed even if it contains local modifications.
@@ -247,6 +250,10 @@ OPTIONS
Only print error messages.
+ This option is only valid for the deinit command. Unregister all
+ submodules in the working tree.
Branch of repository to add as submodule.
@@ -257,8 +264,8 @@ OPTIONS
This option is only valid for add, deinit and update commands.
When running add, allow adding an otherwise ignored submodule path.
- When running deinit the submodule work trees will be removed even if
- they contain local changes.
+ When running deinit the submodule working trees will be removed even
+ if they contain local changes.
When running update (only effective with the checkout procedure),
throw away local changes in submodules when switching to a
different commit; and always run a checkout operation in the