Удалите удаленные ветви отслеживания
Отдельно запустите git branch -rd origin/branchIDontWant
для каждой ветви, или, если их много, вы можете удалить их все с помощью git for-each-ref --format "%(refname)" refs/remotes/origin | xargs -I% git update-ref -d "%"
.
Выбрать нужные ветви
Вы можете выбирать (или извлекать) только те ветви, которые хотите (git fetch origin branchIWant
), двигаться вперед или настраивать git fetch
, чтобы получать только нужные ветви с пульта.
Чтобы настроить git fetch
на получение только тех веток, которые вам нужны, вам нужно обновить свои конфиги для удаленного пульта, с которого вы тянете.Более подробно это описано здесь: https://git -scm.com / book / en / v2 / Git-Internals-The-Refspec .Вы захотите удалить стандартную ссылку refspec fetch = +refs/heads/*:refs/remotes/origin/*
из вашей .git/config
для хранилища.Затем вы добавите refspec fetch = +refs/heads/branchIWant:refs/remotes/origin/branchIWant
для каждой ветви, которую хотите получить (branchIWant
).
Имейте в виду, я предполагаю, что вы используете только один пульт с именем origin
, повторите описанные выше шаги для большего количества пультов.