#windows #git #batch-file
#Windows #git #пакетный файл
Вопрос:
У меня есть скрипт для обновления всех моих локальных репозиториев. Я использую компьютер с Windows, и я использую скрипт .bat для автоматического обновления всех моих локальных репозиториев.
Моя структура папок
xx/update.bat
xx/project1/ ..
xx/project2/ ..
etc..
etc..
мой скрипт bat теперь:
@echo off
for /D %%G in ("*") do (echo %%G) amp;amp; (cd %%G) amp;amp; (git fetch --all) amp;amp; (git pull --all) amp;amp; (cd ..)
но этот скрипт обновит только отслеживаемые ветви, если новая ветвь добавлена в remote, она не будет автоматически добавлена в мой локальный репозиторий.
Мне нужна помощь, чтобы улучшить этот скрипт для выполнения «git branch —track» для всех ветвей во всем репозитории.
Ответ №1:
Git поддерживает локальный кэш того, какие филиалы существуют на удаленном сервере. Этот кэш имеет тенденцию устаревать, поскольку он не обновляется автоматически.
Чтобы обновить этот локальный кэш, используйте эту команду:
git remote update origin --prune
В git cheatsheets вы можете увидеть эту команду, описанную как «Обновить локальный список удаленных филиалов«.