En un repositorio git, se eliminó una rama remota que no estoy rastreando. Cuando escribo
git branch -r
la rama eliminada todavía aparece (y puedo verificarlo)
¿Qué comando git debo ejecutar para actualizar esta información?
En un repositorio git, se eliminó una rama remota que no estoy rastreando. Cuando escribo
git branch -r
la rama eliminada todavía aparece (y puedo verificarlo)
¿Qué comando git debo ejecutar para actualizar esta información?
Respuestas:
Si realizas algo como
git branch -d -r remote_name/branch_name
solo elimina su pago local. Este comando no hace nada al repositorio remoto, por lo que todavía aparece.
Solución:
git push origin :branch_name
eliminará la rama remota (tenga en cuenta el ':') y
git branch -d branch_name
eliminará tu pago local.
( Referencia )
git push <remote> --delete <branchname>para eliminar ramas remotas.
Si se eliminaron ramas en el repositorio remoto y desea actualizar todas las ramas locales de seguimiento remoto a la vez, puede usar
$ git remote prune <remotename>
para eliminar todas las ramas de seguimiento remoto obsoletas para un control remoto dado (es decir, las que siguen a las ramas que se eliminaron en el repositorio remoto).
Ver git remotedocumentación.
git fetch?
git gcsimplemente empaqueta objetos y referencias, y elimina objetos sin referencia mientras está en él (con cierto margen de seguridad).
git remote update --prune
Debería actualizar las ramas de todos los controles remotos, agregar nuevas y eliminar las eliminadas.
Editar: el comando de actualización remota básicamente busca la lista de ramas en el control remoto. La --pruneopción eliminará las ramas de seguimiento remoto locales que apuntan a ramas que ya no existen en el control remoto .
También es útil para ver nuevas sucursales remotas:
git fetch --all
Puede combinar las banderas -ry -dpara eliminar ramas remotas.
Prueba este comando
git gc --prune=now