git fetch --prune
скачивает новые коммиты и ветки из удаленного репозитория и удаляет локальные ветки, отслеживающие удаленные, которые больше не существуют в удаленном репозитории. Это помогает поддерживать локальный репозиторий в чистоте, удаляя устаревшие отслеживающие ветки.
Команда git fetch --prune
в Git выполняет две основные функции:
git fetch
: Получает новые коммиты, ветки и теги из удаленного репозитория (обычно origin
, если не указано иное). Важно отметить, что git fetch
не изменяет вашу локальную рабочую копию или ваши локальные ветки. Он просто скачивает информацию из удаленного репозитория. Эта информация сохраняется в ваших локальных "удаленных ветках" (например, origin/main
, origin/develop
).
--prune
: Удаляет устаревшие удаленные ветки из вашего локального репозитория. Устаревшей ветка считается, если она больше не существует в удаленном репозитории. Это происходит, когда кто-то другой удаляет ветку в удаленном репозитории. Без --prune
, ваша локальная копия будет продолжать "помнить" об этой удаленной ветке, даже если она больше не действительна.
В итоге, команда git fetch --prune
:
Пример:
Предположим, в удаленном репозитории была ветка feature/old-branch
. Кто-то удалил эту ветку в удаленном репозитории. Если вы выполните git fetch
без --prune
, ваша локальная ветка origin/feature/old-branch
все равно будет существовать.
После выполнения git fetch --prune
, ветка origin/feature/old-branch
будет удалена из вашего локального репозитория, потому что ее больше нет в удаленном репозитории.
Важность: Использование --prune
помогает поддерживать чистоту и порядок в вашем локальном репозитории, предотвращая накопление устаревших удаленных веток, которые могут запутать вас или ваши инструменты.