Respostas:
Se as ramificações forem apenas locais, você poderá usar -d se a ramificação tiver sido mesclada, como
git branch -d branch-name
Se a ramificação contiver código que você nunca planeja mesclar, use -D .
Se a ramificação estiver no repositório upstream (no Bitbucket), você poderá remover a referência remota
git push origin :branch-name
Além disso, se você estiver no site da Bitbucket, poderá remover os ramos enviados por push, indo para a guia Ramos de recursos em Confirma no site. Lá você encontrará um ícone de reticências. Clique nele e escolha Excluir ramificação . Apenas certifique-se de que deseja descartar todas as alterações lá!
Para excluir ramificação do Bitbucket,
Além da resposta dada por @Marcus, agora você também pode excluir uma ramificação remota via:
git push [remote-name] --delete [branch-name]
no Bitbucket, vá para as ramificações no menu do lado esquerdo.
Eu poderia excluir a maioria dos meus ramos, mas um deles era assim e não era possível excluí-lo:
Aconteceu que alguém havia colocado Branch permissions
debaixo Settings
e de lá desmarcado Allow deleting this branch
. Espero que isso possa ajudar alguém.
Atualização : onde as configurações estão localizadas da pergunta no comentário. Digite o repositório que você não deseja editar para obter o menu. Você pode precisar de privilégios de administrador para alterar isso.
Se você estiver usando um IDE do pycharm para desenvolvimento e já tiver adicionado o Git. você pode excluir diretamente a ramificação remota do pycharm. Na barra de ferramentas VCS -> Git -> Ramos -> Selecione ramo -> e Excluir . Ele será excluído do servidor git remoto.
Eu escrevi esse pequeno script quando o número de ramificações em meu repositório excedeu várias centenas. Como eu não conhecia os outros métodos (com CLI), decidi automatizá-lo com selênio. Ele simplesmente abre o site da Bitbucket, acessa Ramos, rola a página até o final e clica em todos os menus de opções de ramificações -> clica no botão Excluir -> clica em Sim. Pode ser ajustado para manter os últimos N (100 - padrão) ramos e pular ramos com nomes específicos (mestre, desenvolver - padrão, pode ser mais). Se isso for adequado para você, você pode tentar dessa maneira.
https://github.com/globad/remove-old-branches
Tudo que você precisa é clonar o repositório, baixar a versão adequada do Chrome-webdriver, inserir algumas constantes como URL no seu repositório e executar o script.
O código é simples o suficiente para entender. Se você tiver alguma dúvida, escreva comentários / crie um problema.
Experimente este comando, ele limpará todas as ramificações que foram mescladas à develop
ramificação.
for i in `git branch -r --merged origin/develop| grep origin | grep -v '>' \
| grep -v master | grep -v develop | sed -E "s|^ *origin/||g"`; \
do \
git push origin $i --delete; \
done
No Android Studio , as opções no canto direito do IDE:
Se você gosta de diversão, basta acessar a página de listagem de suas ramificações (por exemplo, mescladas) e apenas executar no console javascript:
document.querySelectorAll('tr td div a:first-child').forEach(function(item) { fetch('https://bitbucket.org/snippets/new?owner=<yourprofilenick>', {'credentials': 'same-origin'}).then((response) => {return response.text()}).then(function(string) { return /'csrfmiddlewaretoken' value='(.*)'/g.exec(string)[1] }).then(function(csrf) { if (!~item.innerText.indexOf('/')) return;
fetch(`https://bitbucket.org/!api/2.0/repositories/<your_organization_path>/refs/branches/${item.innerText}`, {headers: {"x-csrftoken": csrf}, credentials: "same-origin", method: 'DELETE'}).then(() => console.log(`${item.innerText} DELETED!`)) }) })
<yourprofilenick>
pelo seu nick BitBucket<your_organization_path>
pelo caminho da sua organizaçãoPrimeiro, precisamos de uma página com um token CSRF na origem da página, então eu escolho:
https://bitbucket.org/snippets/new?owner=<yourprofilenick>
Em seguida, para cada ramificação (em uma listagem de ramificação), ele obtém o token CSRF e exclui essa ramificação.
Lembre-se de evitar ramificações sensíveis antes de excluir nas configurações de repo.
NÃO excluirá o ramo principal.
Você tem que estar logado.
Ele exclui apenas os ramos visíveis nessa página (para excluir o restante dos ramos, você precisa ir para a próxima página).