Я установил центральный сервер резервного копирования, на котором все репозитории разработчиков добавлены как удаленные. Я беру каждый день со всех пультов. Это дает мне все ветви разработчиков, такие как dev1/master
, dev1/FeatureA
, dev2/master
, dev2/Hotfix
и т. Д. Я делаю это, чтобы иметь резервную копию пользовательских репозиториев на случай сбоя локальной системы. Все в порядке.
Проблема, с которой я сталкиваюсь: когда, скажем, репо dev1
имеет 2 ветки Br1
и Br2
, которые отслеживаются при резервном копировании через dev1/Br1
и dev1.Br2
соответственно. Теперь разработчик удаляет одну из веток, скажем Br1
. Я делаю выборку в EOD на сервере резервного копирования. Сервер резервного копирования по-прежнему показывает, что dev1
имеет ветвь Br1
.
Как я могу заставить fetch заменить все существующие ветки новыми, т. е. также удалить dev1/Br1
, если удаленное (dev1
) репо удаляет ветку?
fetch =
строки для сопоставления имен веток репо. Просто добавьте--prune
в свойgit remote update
илиgit fetch
. Обратите внимание, что некоторые старые версии git иногда не удаляются с помощью некоторых команд, поэтому, если одна не работает, попробуйте другую или обновите свою версию git. - person torek   schedule 23.06.2014git fetch <remote> --prune --tags
- person user3415653   schedule 23.06.2014