Estou tentando descobrir uma maneira de, depois que meu branch de desenvolvimento local for enviado para o GitHub, ou BitBucket, ou qualquer VCS, e uma solicitação de pull for aprovada, quando esse branch for mesclado main
, haver algum tipo de script ou funcionalidade que permita que o branch de desenvolvimento local seja excluído automaticamente do meu sistema local.
Não estou me referindo especificamente ao git branch --delete
comando, o que obviamente posso fazer manualmente, mas sim fazer com que essa ramificação seja excluída da minha máquina local, depois que eu fizer check-out no main
, e fizer uma atualização git pull
dessa mesma ramificação de desenvolvimento que já foi mesclada anteriormente.
O que estou procurando fazer é:
- Enviar alterações para
local-branch
. - Mesclar após
local-branch
amain
aprovação do PR, no navegador. - No meu sistema local, confira
main
asgit pull
alterações do arquivo . mesclado recentementelocal-branch
. - Ele
local-branch
foi excluído localmente no meu sistema, então, ao executargit branch
, essa ramificação não é mais listada.
Isso é possível de alguma forma? Espero que tudo tenha feito sentido...
EDIT: Só mais algumas informações, então usamos o BitBucket como nosso VCS, e depois que ele local-branch
é mesclado com o Merge
botão da interface do BitBucket, ele local-branch
não é excluído do BitBucket, o que é uma decisão da empresa, mas estou apenas querendo excluí-lo do meu sistema local depois de obter o mais recente main
, depois que local-branch
ele for mesclado.
Revise os branches
git branch -r --merged origin/main
e exclua os branches locais correspondentesSe os nomes de suas ramificações locais forem os mesmos que os nomes de ramificações remotas, o script a seguir excluirá todas as ramificações locais cujos nomes são os mesmos que os das ramificações remotas, se elas já foram mescladas na
$REPO_MAIN
ramificação. Você pode substituirgit branch -d
porgit branch -D
quando quiser excluir a ramificação à força e acho que-D
atenderá melhor às suas necessidades.Você pode definir o valor de configuração do git
fetch.prune
como true, o que significa que na próxima vez que você baixar seu repositório, ele removerá as referências antigas do seu local.git config fetch.prune true
Você também pode configurá-lo globalmente para funcionar em todos os repositórios em seu local
git config --global fetch.prune true
Tente o comando abaixo