Thank you for filling out a Git bug report! Please answer the following questions to help us understand your issue. What did you do before the bug happened? (Steps to reproduce your issue) 1) Set the following configs: git config submodule.recurse true git config fetch.recurseSubmodules false 2) On a repo with submodules, run: git pull What did you expect to happen? (Expected behavior) git pull doesn't recursively fetch submodules What happened instead? (Actual behavior) Submodules are fetched recursively What's different between what you expected and what actually happened? Submodules are fetched recursively Anything else you want to add: git fetch works as intended. The documentation for fetch.recurseSubmodules states that "This option controls whether git fetch (and the underlying fetch in git pull)" so I would naturally expect git pull to behave the same as git fetch [System Info] git version: git version 2.36.0 cpu: x86_64 no commit associated with this build sizeof-long: 8 sizeof-size_t: 8 shell-path: /bin/sh feature: fsmonitor--daemon uname: Darwin 19.6.0 Darwin Kernel Version 19.6.0: Tue Aug 24 20:28:00 PDT 2021; root:xnu-6153.141.40~1/RELEASE_X86_64 x86_64 compiler info: clang: 12.0.0 (clang-1200.0.32.29) libc info: no libc information available $SHELL (typically, interactive shell): /usr/local/bin/bash [Enabled Hooks] pre-commit Thanks, Huang