DEV Community

Guilherme Dakuzaku
Guilherme Dakuzaku

Posted on

[Só Faz] Git Error: error: cannot lock ref 'branch_a': 'branch_b'; cannot create 'branch_a'

"Só faz" são artigos que propõe as soluções mais rápidas, se você quer entender melhor, veja a seção "mais no bit"

Seu erro é parecido com esse?

error: cannot lock ref 'refs/remotes/origin/will_delete/feature': 'refs/remotes/origin/will_delete' exists; cannot create 'refs/remotes/origin/will_delete/feature'
From github.com:Rocketti/techcollege
 ! [new branch]      will_delete/feature -> origin/will_delete/feature  (unable to update local ref)
error: some local refs could not be updated; try running
 'git remote prune origin' to remove any old, conflicting branches
Enter fullscreen mode Exit fullscreen mode

Então execute:

git fetch -p
ou
git remote prune origin
Enter fullscreen mode Exit fullscreen mode
Mais no bit:

A primeiro momento: crio a branch vindo da main, normal e dou um push para que vai para a origin.

git checkout -b will_delete
git push --set-upstream origin will_delete
Enter fullscreen mode Exit fullscreen mode

image

Lá no site da github, vou ver que a branch está lá, vou deleta-la e depois criar uma outra chamada will_delete/feature.

image

image

Qual seria o caminho normal? Ir para o terminal e dar o pull, porém olhe o erro:

image

Qual motivo?
Quando criei a branh will_delete/feature na web, não deletei localmente a will_delete que eu tinha criado lá no começo do processo e quando o git vai criar o fluxo para will_delete/feature ele da conflito porque will_delete ainda criado localmente.

Como resolver?
Use um dos dois comandos abaixo. Em ambos vão ativar o prune, aonde ele vai deletar localmente os repositórios que foram deletados da origin.

git fetch -p
ou
git remote prune origin 
Enter fullscreen mode Exit fullscreen mode

image

Tá resolvido, rápido e simples.
Até a próxima galera!

Top comments (0)