From: Anton Akhiar Date: Wed, 09 Sep 2015 07:45:28 GMT Subject: Bug report: Add submodule with --branch and --depth (git version 2.5.0.windows.1) Message-ID: <55EFE398.60208@gmail.com> Hi, I am trying to add a submodule with option --branch and --depth together, and failed. However, there is no problem if only one of them is applied. So, this worked: git submodule add --branch develop https://anton@bitbucket.org/anton/mysubmodule.git This is also worked: git submodule add --depth 1 https://anton@bitbucket.org/anton/mysubmodule.git But this won't worked: git submodule add --branch develop --depth 1 https://anton@bitbucket.org/anton/mysubmodule.git Here is how to replicate the problem: Setup remote repositories, e.g. in bitbucket: For superproject: https://anton@bitbucket.org/anton/mysuperproject.git For submodule: https://anton@bitbucket.org/anton/mysubmodule.git Setup local repository for superproject: git init mysuperproject cd mysuperproject echo "This is the parent project" > README git add README git commit -m "add README" git remote add origin https://anton@bitbucket.org/anton/mysuperproject.git git push --all -u origin Setup local repository for submodule with branch "develop": cd .. git init mysubmodule cd mysubmodule echo "This is the submodule" > README git add README git commit -m "add README" git branch develop master git remote add origin https://anton@bitbucket.org/anton/mysubmodule.git git push --all -u origin Now, go to superproject and add submodule with options --branch and --depth: cd ../mysuperproject git submodule add --branch develop --depth 1 https://anton@bitbucket.org/anton/mysubmodule.git mysubmodule Output: Cloning into 'mysubmodule'... Password for 'https://anton@bitbucket.org': remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. Checking connectivity... done. fatal: Cannot update paths and switch to branch 'develop' at the same time. Did you intend to checkout 'origin/develop' which can not be resolved as commit? Unable to checkout submodule 'mysubmodule'