Подтвердить что ты не робот

EGit: Отключить удаленные ветки отслеживания, которые были удалены при удаленном репо

Я использую EGit (для Eclipse) с командой разработчиков. Мы создаем много ветвей feature и fix для новой работы, а затем объединяем их в наши ветки release, когда они завершены. Сразу после их объединения в правильную ветку release эти временные ветки обычно удаляются, чтобы очистить удаленное репо.

Я замечаю, что когда эти ветки удаляются, я буду извлекать данные из нашего удаленного репо, но EGit не удаляет их из моего удаленного отслеживания. Мое дистанционное отслеживание покажет удаленные ветки, которые больше не находятся на дистанционном репо (и нет никаких указаний на их удаление). Единственный способ (я нашел), чтобы мой внешний вид отслеживания отображал фактическое репо, - это удалить все мои удаленные ветки отслеживания вручную (выделить и удалить), а затем снова извлечь их. Это кажется очень крутым, особенно потому, что вы можете обрезать удаленные ветки с помощью командной строки, например:

git remote prune origin

В принципе, я хотел бы знать, есть ли способ настроить/сделать EGit для выполнения этой обрезки, когда удаленные ветки отслеживания меняются (после того, как я извлекаю). Вот моя текущая конфигурация выборки на my origin remote:

enter image description here

4b9b3361

Ответ 1

Обновление Март 2014: Как упоминалось cheshire answer, EGit 3.3 добавила эту функцию сокращения.

Вы можете увидеть эту функцию, представленную в этом обзоре кода Gerrit в JGit ( и протестировано здесь)

Запись fetch.prune, упомянутая в git config можно добавить в конфигурацию Egit:

https://wiki.eclipse.org/images/f/f8/RepositoryConfigurationSettings.png


Оригинальный ответ (март 2013 года)

EGit выполняет эту обрезку, когда удаленные ветки отслеживания меняются (после извлечения).

Не то, чтобы я знал.

В более общем плане, выполните любое действие после того, как каждая выборка на стороне клиента невозможна с помощью перехватчиков.
Он запросил и был в какой-то момент реализован только на стороне сервера: hook post-upload (запускается после извлечения), но удаляется из соображений безопасности в многопользовательской среде.

Ответ 2

В недавнем выпуске EGit 3.3 появилась поддержка черновиков.

Вы можете добавить ключ fetch.prune или remote.<yourremotename>.prune в gitconfig и установить его на true. Когда вы выберете с помощью EGit, это автоматически обрезает ветки, которые удаляются в центральном репозитории.