Thanks so much for the feedback, Junio. I've updated the patchset based on your comments. Currently, there is no way to set the branch of a submodule without manually manipulating the .gitmodules file. This patchset introduces a porcelain command that enables this. Changes since v1: * Fixed incorrect usage of OPT_CMDMODE Changes since v2: * Corrected missing argument for -b/--branch in git-submodule.txt * Rebased onto latest next Changes since v3: * Rebased back onto master * Address Junio's comments and improve clarity of submodule--helper patch * Fix incorrect documentation formatting in git-submodule.txt Denton Liu (3): git-submodule.txt: "--branch <branch>" option defaults to 'master' submodule--helper: teach config subcommand --unset submodule: teach set-branch subcommand Documentation/git-submodule.txt | 14 +++- builtin/submodule--helper.c | 17 +++-- contrib/completion/git-completion.bash | 5 +- git-submodule.sh | 75 +++++++++++++++++++-- t/t7411-submodule-config.sh | 9 +++ t/t7419-submodule-set-branch.sh | 93 ++++++++++++++++++++++++++ 6 files changed, 200 insertions(+), 13 deletions(-) create mode 100755 t/t7419-submodule-set-branch.sh -- 2.20.1.522.g5f42c252e9