TL;DR: git-clone ignores any fetch specs passed via --config. The documentation for git-clone --config says: | Set a configuration variable in the newly-created repository; this takes | effect immediately __AFTER__ the repository is initialized, but __BEFORE__ | the remote history is fetched or any files checked out. [...] (emphasis added) However, this doesn't seem be be true, right after the clone, the refs are NOT present, and the next fetch seems to pull the extra refs. This seems to be because the refspec building for the initial clone doesn't take into account any fetch lines added to the config. Testcase to reproduce (confirmed in v2.11.1, not tested 2.12.0 quite yet): # export REPOURI=https://github.com/openstack-dev/sandbox.git DIR=test # git clone \ -c remote.origin.fetch=+refs/notes/*:refs/notes/* \ -c remote.origin.fetch=+refs/changes/*:refs/remotes/origin/changes/* \ $REPOURI $DIR \ && cd $DIR \ && git fetch -- Robin Hugh Johnson Gentoo Linux: Dev, Infra Lead, Foundation Trustee & Treasurer E-Mail : robbat2@gentoo.org GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136