Я только что проверил это на локальном клоне репозитория Git (https://github.com/git/git/)
Первый выбор ничего не возвращает
vonc@voncvb C:\Users\vonc\prog\git\git
> git fetch
Конфиг уже настроен на значение по умолчанию:
vonc@voncvb C:\Users\vonc\prog\git\git
> git config remote.origin.fetch
+refs/heads/*:refs/remotes/origin/*
Если я снова установлю конфигурацию и сделаю git fetch, я действительно вижу дополнительную информацию:
vonc@voncvb C:\Users\vonc\prog\git\git
> git config remote.origin.fetch "+refs/heads/*:refs/remote/origin/*"
vonc@voncvb C:\Users\vonc\prog\git\git
> git fetch
From https://github.com/git/git
* [new branch] master -> refs/remote/origin/master
* [new branch] maint -> refs/remote/origin/maint
* [new branch] next -> refs/remote/origin/next
* [new branch] pu -> refs/remote/origin/pu
* [new branch] todo -> refs/remote/origin/todo
Но если я повторю команду git config снова (git config remote.origin.fetch "+refs/heads/*:refs/remote/origin/*"
) и введу дополнительные git fetch
, они не вернут никакой новой информации (пустой вывод)
Это потому, что первый завершил FETCH_HEAD
:
vonc@voncvb C:\Users\vonc\prog\git\git
> more .git\FETCH_HEAD
e3331758f12da22f4103eec7efe1b5304a9be5e9 branch 'master' of https://github.com/git/git
fc54c1af3ec09bab8b8ea09768c2da4069b7f53e not-for-merge branch 'maint' of https://github.com/git/git
fac676dfb9e0fea308fef5113ed7db2362fcdc9e not-for-merge branch 'next' of https://github.com/git/git
5fc3b55b9a8ca42699202482765d9768020ee313 not-for-merge branch 'pu' of https://github.com/git/git
be70464a91c93a321dc16707dec820870df970d2 not-for-merge branch 'todo' of https://github.com/git/git
Другими словами, он не получает никаких данных, он только обновляет уже выбранные ссылки.
Смотрите " Что означает FETCH_HEAD
в Git? "