Eliminar una twig remota

Cuando realizo la branch -a :

 $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/hello remotes/origin/master 

Y luego elimino la twig:

 $ git branch -r -D origin/hello Deleted remote branch origin/hello (was c0cbfd0). 

Ahora veo:

 $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master 

La twig "hola" ha sido eliminada. Pero cuando llego:

 $ git fetch From localhost:project * [new hello] hello -> origin/hello $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/hello remotes/origin/master 

Estoy tan confundida.
Creo que se ha eliminado, pero todavía está allí.

Debe eliminarlo del control remoto con el siguiente command:

 git push origin --delete hello 

Cuando está ejecutando git branch -rd origin/hello está borrando su twig local solamente. El código anterior lo elimina del repository de origen.

Para eliminar una twig remota , use

 git push origin :remotebranch 

Todo lo demás funciona solo en el repository local. En versiones más recientes de git, también puedes

 git push origin --delete remotebranch 

De acuerdo con la documentation , --delete significa lo mismo "que el prefijo de todas las references con dos puntos".

Si se está preguntando sobre el significado de : sigue la syntax estándar para push . Por lo general, escribirías

 git push origin localbranch:remotebranch 

pero aquí, reemplazas localbranch con "nada", eliminando de manera efectiva la twig remota.

Tenga en count que la twig git solo permite eliminar references locales .

  git branch -r -D origin/hello 

Eso solo elimina el puntero local a una twig de seguimiento remoto , pero eso no tiene influencia en el contenido del repository remoto.
Solo el git push origin :hello , como se menciona en las otras respuestas, haría eso.

Además, eso no cambia la configuration branch.hello.fetch : todavía hace reference a origin / hello, por lo que la próxima búsqueda volverá a crear la twig de seguimiento remoto en su repository local.

 git push origin --delete somebranch 

es la forma de eliminar una twig remota. Si todavía tiene una versión anterior de Git, puede que necesite usar la syntax anterior:

 git push origin :somebranch 

que se traduce en "empujar nada hacia alguna twig en el control remoto señalado por origen". El command es de la forma "git push (qué repository remoto) (qué reference local) 🙁 qué reference remota). Omitir (qué reference) se interpreta como" poner nada "en (qué reference remota), eliminándolo de manera efectiva. la syntax más nueva es mucho más intuitiva.