Как обновить ветви (локальные / удаленные) в Visual Studio при использовании Git?


резюме

Я учусь использовать Git с Visual Studio. Я недавно сделал запрос, где ветка была удалена после слияния. Ветвь функции по-прежнему отображается в моих локальных и удаленных ветвях в Visual Studio. Я знаю, как щелкнуть правой кнопкой мыши и удалить ветку, это обходной путь, так как другие в команде могут выполнить запрос на вытягивание на ветке, которую я имею, не зная об этом. Если они удалят ветку после этого, я не буду знать, что они сделали так.

вопрос

Как обновить ветви Visual Studio с помощью того, что находится на Git?

что я ожидаю

Я ожидаю, что кнопка, ссылка или функция щелчка правой кнопкой мыши, которая при щелчке проверяет наличие различий, если они найдены, она спрашивает: "эта ветвь больше не существует, вы хотите удалить ее из Visual Studio?".

Технические Характеристики

Я использую Visual Studio 2015 Enterprise

дополнительные Пример

это может быть другой вопрос, но он подходит так хорошо здесь. Я просто заметил, что если я создаю ветку (скажем, в одной виртуальной машине и посмотрите на то же РЕПО с другим), Visual Studio не имеет git fetch возможность обновить список ветвей. Кнопка обновления в верхней части, кажется, ничего не делает. Как только я бегу git fetch в bash visual studio имеет новую ветвь. Я ожидал бы, что обновление позаботится об этом.

5 58

5 ответов:

если ветка была удалена на стороне сервера, попробуйте в командной строке (поскольку такая "кнопка", похоже, не существует непосредственно в Visual Studio):

git remote prune origin --dry-run

(удалить --dry-run возможность фактически удалить локальные ветви)

удалить соответствующую локальную ветку, а также git branch -d aBranch.

затем перезапустите Visual Studio, и проверьте, что он поднимает обновленный список ветвей. (комментарии упоминают, что вам не нужно перезапускать / обновлять Против)

Примечание: упоминалось ранее в 2013 году конфигурация

git config remote.origin.prune true

что бы автоматизировать этот процесс, и вроде бы поддерживается Visual Studio, а указанных ниже by Янив.

согласно этому сообщению в блоге, вы можете установить свойство git через

git config remote.origin.prune true

это удалит удаленные ветви из вашего списка при выполнении выборки.

From : https://intovsts.net/2017/01/17/refresh-git-remote-branches-in-visual-studio/

вы можете настроить git, чтобы сделать это автоматически при выполнении fetch / pull с помощью этой команды:

git config remote.origin.prune true –global

обновление:

Visual Studio 2017 версии 15.7.3 и выше вы можете сделать это с помощью пользовательского интерфейса:

  1. в командном Обозревателе нажмите кнопку Домой Установочный: enter image description here

  2. выберите Глобальные параметры

  3. изменить "обрезать удаленные ветви во время выборки" на "True"

против 2017 появится поддержка настраиваемых в командном Обозревателе:

Team Explorer Home Настройки Git > Глобальные Настройки Обрезать удаленные ветви во время выборки: Unset, True или False

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