Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Atividade: Deletando uma branch remota

Na aula 4 do curso de git temos uma com a seguinte questão: Uma vez concluída a tarefa referente à uma brach remota, desejamos excluí-la para não acumular branches que não serão mais usadas. Qual é o comando para deletar uma branch remota?

a- git branch -d origin design b- git checkout -d origin design c- git checkout origin :design d- git push -d origin design e- git push origin :design e- git branch origin :design

Criei uma branch local chamada teste( git branch teste) e uma remota chamada teste através desse comando( git push origin teste) , adicionei arquivos, fiz commits . A resposta oficial para essa questão é: git push origin :design mas como criei uma branch de teste eu fiz git push origin : teste e a branch não foi deletada conforme dei o F5 na pág do github mas usando o comando git push -d origin teste consegui deletar, afinal qual é o comando certo para deletar um branch remota?

7 respostas

corrigindo usei o comando( git push -u origin teste) para criar o repositório remoto teste.

Amanda, para apagar uma branch remota existem dois comandos diferentes.

O primeiro e mais simples de explicar somente existe a partir da versão 1.7.0 do git: você faz um push indicando a deleção da branch.

git push origin --delete nomeDaBranchParaApagar
#ou
git push origin -d nomeDaBranchParaApagar

O modo de fazer isso anterior à versão 1.7.0 é mais complicado, mas vou explicar: você faz um push de um conteúdo vazio por cima da sua branch remota.

git push origin :nomeDaBranchParaApagar

E como essa segunda sintaxe funciona? O comando originalmente recebe DUAS branches, como a seguir.

git push origin branch1:branch2

Isso faria com que você fizesse um push da branch local branch1 para a branch remota branch2. Porém, caso você não defina a branch local, o git entende que você quer sobrescrever a branch remota com conteúdo vazio (ou seja, apagar).

A partir daí o comando passou a ser utilizado também para apagar branches remotas.

Agora, por quê o primeiro comando falhou pra você? Provavelmente algum erro de sintaxe que te passou despercebido.

Repeti a sequencia de passos para testar criei a branch local e a remota ambas "trackeadas" pelo comando git push -u origin teste:

$ git push -u origin teste
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 165.57 KiB | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/meuUser/meu-site.git
 * [new branch]      teste -> teste
Branch teste set up to track remote branch teste from origin.

e usei o comando git push origin : teste para apagar mas novamente só consegui com o comando git push -d origin teste

Não estou localizando o erro de sintaxe mais pode sim estar ocorrendo.

solução!

Oi Amanda.

O erro está no espaço entre os dois pontos (:) e o nome da branch teste.

Você fez assim:

git push origin : teste

E é assim:

git push origin :teste

O nome da branch tem que estar junto do sinal de dois pontos.

Se outras pessoas estivessem trabalhando no mesmo repositório que você, bastaria que elas digitassem o seguinte comando para que todas as alterações no repositório fossem propagadas para suas estações:

git fetch --all --prune

[]'s.

Amanda, editei seu post para formatar o código e ficar mais claro.

Olha só, eu tinha reparado que no primeiro post você colocou o espaço depois dos : mas achei que tinha sido um erro de digitação.

Como você repetiu aqui na segunda mensagem, tenho certeza de que é esse o erro assim como o Bruno mencionou.

Já que mencionei, vou dar a dica: quando for postar código ou a saída do terminal, use o botão que tem no canto da caixa de edição: { } inserir código. Ele ajuda bastante a visualização e um erro desses pode acabar passando despercebido ou, como eu fiz, considerado só um erro de digitação aqui no próprio fórum. =) Se quiser escrever código no meio da frase assim, é só colocar o texto entre duas crases (``).

É isso, agora você vai conseguir remover sua branch!

Agradeço ao Bruno e ao marcos realmente era esse o erro de sintaxe, também seguirem a orientações de como postar códigos no fórum. Obrigada .

De nada, Amanda! Obrigado pela paciência e bons estudos :wink:

E desculpe qualquer inconveniência!