Как обновить ветви (локальные / удаленные) в 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 ответов:
если ветка была удалена на стороне сервера, попробуйте в командной строке (поскольку такая "кнопка", похоже, не существует непосредственно в 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 и выше вы можете сделать это с помощью пользовательского интерфейса:
против 2017 появится поддержка настраиваемых в командном Обозревателе:
Team Explorer Home Настройки Git > Глобальные Настройки Обрезать удаленные ветви во время выборки: Unset, True или False
вы должны отключить филиала во-первых, тогда другие заметят, что ветвь неопубликована(пытаясь вытащить ветвь, они получат ошибку), удаление локальной ветви на самом деле является отдельным процессом и должно быть сделано для того, чтобы избавиться от ветви в любом случае.