No VSCode, depois que faço uma solicitação de pull e excluo o branch no GitHub, esse branch ainda aparece no Visual Studio Code. Se eu selecionar o ramo, dá um erro, como esperado.
Como faço para remover esses branches agora excluídos do VSCode - posso fazer isso automaticamente?
git fetch --prune
atualizar / excluir referências de branch remoto egit branch -d <branch-name>
excluir o branch local (-D
para forçar). Reiniciar paleta de atualizações do VSCodeRespostas:
Aparentemente, esse recurso é intencional. Descobri que uma maneira correta de remover todos os branches remotos que foram excluídos do Github é executar o seguinte comando.
Em seguida, reinicie o Visual Studio para remover os ramos da paleta de comandos
fonte
origin/branch_name
do menu git de mudança rápida no VSCode. Por exemplo, se você tiver um branch localtest
e enviá-lo para o Github, existem dois branchestest
, eorigin/test
no menu do branch git, a poda remove apenas oorigin/test
branch, não otest
branch.git branch
ou clico no nome do branch para ver uma lista suspensa com todos os branches disponíveisgit branch
lista apenas os branches locais, este comando supostamente remove osremotes/branch_name
branches. Tentegit branch -a
ver tudo.Os branches locais podem ser removidos do Visual Studio Code abrindo o Command Pallete (Ctrl-Shift-P) e selecionando Git: Delete Branch ... , você pode excluir o branch local selecionando o apropriado na lista.
fonte
Ramificações removidas do GitHub estão bem ... apenas removidas do GitHub. Você ainda tem uma cópia local do branch em sua máquina. Para excluir a execução de filial local
git branch -d the_local_branch
. Não há nenhum comando no VS Code para fazer isso, mas você pode iniciar o terminal no VSCode usando oView: Toggle Integrated Terminal
comando e executar o comando a partir dele.Para obter mais informações sobre o gerenciamento de filiais, visite a documentação do git - https://git-scm.com/book/be/v2/Git-Branching-Branch-Management
fonte
Abra a paleta de comandos (Ctrl + Shift + P) e selecione Git: Fetch (Prune) .
Este recurso foi incorporado ao VS Code em 20 de novembro de 2018.
fonte
Eu interpretei a pergunta como: como posso excluir meus branches locais que foram mesclados, já que estou usando Git Fetch (Prune) na paleta de comandos. Isso pode ser considerado um "hack", mas é o que eu uso. No terminal PowerShell:
Caso você não esteja familiarizado com PoSH, aqui está o que ele faz: a primeira linha obtém o nome de todos os ramos mesclados (com exceção de desenvolver e mestre), e a segunda linha faz um loop por essa lista e executa "git branch -d " Contanto que o branch esteja completamente mesclado, você verá:
para cada ramo. Ocasionalmente, encontro um branch que não consegue ser excluído - se isso acontecer e você tiver certeza de que é seguro ser excluído (ou seja, você não perderá o trabalho local que não foi armazenado), você pode executar:
Observe o D maiúsculo - que exclui à força a filial local.
fonte
simple | complex
divisão😉Tudo que você precisa fazer é executar este comando:
Algo extra que você pode fazer, porque às vezes é chato abrir um terminal só para isso .. você pode adicionar uma tarefa no vscode.
Para fazer isso, siga estas etapas:
{"label": "Git Prune", "type": "shell", "command": "git remote prune origin", "problemMatcher": []}
Como usá-lo:
Referência:
fonte
git remote prune origin
difere da resposta aceita degit fetch --prune
? O detalhe de Executar Tarefa é ótimo, obrigado por postá-loVocê pode remover todos os branches locais (exceto master) com:
git branch -r | grep -v "master" | xargs git branch -D
E você pode remover todos os ramos que ainda aparecem como
origin/XXXX
no VSCode, mas já excluídosorigin
com:Nota:
O primeiro comando acima (retirado de https://stackoverflow.com/a/52006270/3120163 ):
fonte
Eu encontrei uma maneira de consertar isso. Portanto, você precisa remover o controle remoto vinculado ao repositório Github e, em seguida, adicionar o controle remoto novamente.
Todos os branches que são excluídos do Github não serão mais exibidos no vscode. Supondo que esse
origin
seja o nome do repo remoto.Então
fonte
O comando mais curto é:
fonte