Как получить все удаленные ветки?
Каким-то образом один из моих репозиториев отказывается извлекать новые ветки:
C:\temp>git fetch --all
Fetching origin
C:\temp>git branch -a
* develop
remotes/origin/develop
C:\temp>git ls-remote --heads origin
d130c97c1ccbe9ab35cd6e268c760781e37e3628 refs/heads/2.1.0.x
...
92685125df152fe053a2818de0c4d2ce8655c6b8 refs/heads/2.2.5.x
1e2eec16c7d63c84d6b53d0a221d22109b4de2a8 refs/heads/develop
f6447d5315fe777803b283bee7dac1dbdba92536 refs/heads/feature/0001089__icons_are_gone_-_move_inclusion_to_RC_files
e2cf0112b7e7fc18eb3467c7c42657208147efb2 refs/heads/feature/0001102__Debug_time_fix_exception_EIdSocketError_10060
6b2c89c6a39b3ce26cf42c5e8e5e0dd12c88abac refs/heads/feature/0001103__Research_cause_of_Internal_error_Stack_not_balanced
...
9f724b76b7c3533996fa03189e18a2f61fa5cf4f refs/heads/master
c233696172eb05522d1bb6705a3ea8cd730a762d refs/heads/origin/master
1db38f4fab2c41ee1931c9c6165aa6087556210a refs/heads/release
c233696172eb05522d1bb6705a3ea8cd730a762d refs/heads/trunk
Как я могу заставить git
чтобы получить все эти удаленные ветви?
я в git version 2.8.2.windows.1
,
1 ответ
Проверь себя git config --get remote.origin.fetch
refspec.
Все ветки будут извлечены только если refspec
+refs/heads/*:refs/remotes/origin/*
Если refspec это:
+refs/heads/develop:refs/remotes/origin/develop
Затем fetch
принесет только develop
ветка.
Это типично для git clone --branch develop --single-branch
,
Вы можете проверить свою ветку cat .git/config
в терминале
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
url = { git remote url }
fetch = +refs/heads/develop:refs/remotes/origin
[branch "develop"]
remote = origin
merge = refs/heads/develop
а также git remote update
но не обновлять удаленную ветку. вы замените исходную выборку
сначала проверьте удаленную выборку git config --get remote.origin.fetch
+refs/heads/develop:refs/remotes/origin/develop
во-вторых, отключенное использование удаленной выборки git config --unset-all remote.origin.fetch
и добавить еще git config --add remote.origin.fetch +refs/heads/\*:refs/remotes/origin/feature/\*
затем вы можете проверить замену удаленного git config --get remote.origin.fetch
+refs/heads/*:refs/remotes/origin/*