В VSCode после того, как я выполняю запрос на перенос и удаляю ветку на GitHub, эта ветка все еще отображается в Visual Studio Code. Если я выберу ветку, она, как и ожидалось, выдаст ошибку.
Как мне удалить эти теперь удаленные ветки из VSCode - могу ли я сделать это автоматически?
git fetch --prune
обновления / удаления ссылок на удаленные ветки иgit branch -d <branch-name>
удаления локальной ветки (-D
для принудительного выполнения). Перезапуск VSCode обновляет палитруОтветы:
Судя по всему, это сделано намеренно. Я обнаружил, что правильный способ удалить все удаленные ветки, которые были удалены из Github, - это выполнить следующую команду.
Затем перезапустите Visual Studio, чтобы удалить ветви из палитры команд.
источник
origin/branch_name
из меню быстрого переключения git в VSCode. Например, если у вас есть локальная веткаtest
и вы отправили ее в Github, есть две веткиtest
, иorigin/test
в меню ветки git удаление удаляет толькоorigin/test
ветку, а неtest
ветку.git branch
или нажимаю на название ветки, чтобы увидеть раскрывающийся список со всеми доступными ветвямиgit branch
перечисляет только локальные ветки, эта команда должна удалятьremotes/branch_name
ветки. Попробуйgit branch -a
все увидеть.Локальные ветки можно удалить из кода Visual Studio, открыв палитру команд (Ctrl-Shift-P), затем выбрав Git: Удалить ветвь ... , затем вы можете удалить локальную ветвь, выбрав соответствующую из списка.
источник
Ветки, удаленные из GitHub, хорошо ... просто удалены из GitHub. У вас все еще есть локальная копия ветки на вашем компьютере. Чтобы удалить локальную ветку, запустите
git branch -d the_local_branch
. В VS Code нет команды для этого, но вы можете запустить терминал в VSCode с помощьюView: Toggle Integrated Terminal
команды и запустить команду из него.Для получения дополнительной информации об управлении филиалами посетите документацию git - https://git-scm.com/book/be/v2/Git-Branching-Branch-Management.
источник
Откройте палитру команд (Ctrl + Shift + P) и выберите Git: Fetch (Prune) .
Эта функция была добавлена в VS Code 20 ноября 2018 г.
источник
Я интерпретировал вопрос следующим образом: как я могу удалить свои локальные ветки, которые были объединены, поскольку я использовал Git Fetch (Prune) из палитры команд. Это можно рассматривать как «взлом», но я использую именно его. В терминале PowerShell:
Если вы не знакомы с PoSH, вот что он делает: первая строка получает имя всех объединенных веток (за исключением разработки и master), а вторая строка проходит через этот список и запускает «git branch -d ". Пока ветка полностью объединена, вы должны увидеть:
для каждой ветки. Иногда я сталкиваюсь с веткой, которую не удается удалить - если это произойдет, и вы уверены, что ее можно удалить безопасно (т.е. вы не потеряете локальную работу, которая не была сохранена), вы можете запустить:
Обратите внимание на заглавную букву D - это принудительно удаляет локальную ветку.
источник
simple | complex
раздела 😉Все, что вам нужно сделать, это запустить эту команду:
Что-то еще, что вы можете сделать, потому что иногда раздражает открывать терминал только для этого ... вы можете добавить задачу в vscode.
Для этого выполните следующие действия:
{"label": "Git Prune", "type": "shell", "command": "git remote prune origin", "problemMatcher": []}
Как это использовать:
Справка:
источник
git remote prune origin
отличается ли он от принятого ответаgit fetch --prune
?Вы можете удалить все локальные ветки (кроме master) с помощью:
git branch -r | grep -v "master" | xargs git branch -D
И вы можете удалить все ветки, которые все еще появляются, как
origin/XXXX
в VSCode, но уже удалены,origin
с помощью:Заметка:
Первая команда выше (взята из https://stackoverflow.com/a/52006270/3120163 ):
источник
Я нашел способ исправить это. Поэтому вам нужно удалить пульт, который ссылается на репозиторий Github, а затем снова добавить пульт.
Все ветки, удаленные из Github, больше не будут отображаться в vscode. Предполагая, что
origin
это имя удаленного репо.затем
источник
Более короткая команда:
источник