Signed-off-by: Stefan Beller <sbeller@xxxxxxxxxx> --- On top of sb/submodule-recursive-checkout-detach-head I also checked other man pages such as read-tree, which already mentions the behavior as the fix implements: --[no-]recurse-submodules Using --recurse-submodules will update the content of all initialized submodules according to the commit recorded in the superproject by calling read-tree recursively, also setting the submodules HEAD to be detached at that commit. Documentation/git-checkout.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/git-checkout.txt b/Documentation/git-checkout.txt index d6399c0af8..84bd323a00 100644 --- a/Documentation/git-checkout.txt +++ b/Documentation/git-checkout.txt @@ -262,6 +262,8 @@ section of linkgit:git-add[1] to learn how to operate the `--patch` mode. local modifications in a submodule would be overwritten the checkout will fail unless `-f` is used. If nothing (or --no-recurse-submodules) is used, the work trees of submodules will not be updated. + Just like linkgit:git-submodule[1], this will detach the + submodules HEAD. <branch>:: Branch to checkout; if it refers to a branch (i.e., a name that, -- 2.14.0.rc0.3.g6c2e499285