2010-03-15 25 views
6

El comando para eliminar una rama remota en Git es la siguienteexplicar comando git para borrar la rama remota

git push origin :/heads/[feature-name] 
     [feature-name] being the name of the branch 

Esto hace el trabajo perfectamente, es cierto que.
Sin embargo, al escribirlo, no puedo asociar que lo que escribo es en realidad eliminar una rama.

¿Puede describir por qué esto realmente funciona? (mi pregunta no tiene nada que ver con la forma en que se implementa)

Entender esto, espero que me ayude a tener una mejor idea de cómo funciona git.

+0

buena pregunta .. Me preguntaba lo mismo. – hasen

Respuesta

8

El formato de git push (por nuestra parte) es:

git push <repository> <src>:<dst> 

Así, utilizando push origin git:/jefes/[característica-name] dice a git para empujar una rama vacía a la función -name rama de origen. Así que lo limpias.

+0

aha, ¡finalmente tiene sentido para mí! – hasen

0

El nombre de la rama es una etiqueta que apunta al compromiso SHA. Está eliminando efectivamente esa etiqueta. Como no hay ninguna etiqueta en el mantenimiento de esa rama, se descarta y se pierde.

Aparte de eso, el comando "Borrar" se define para tener esa sintaxis, como se describe en la página del manual de git push: push origin

git: experimental busca un árbitro que coincide experimental en el repositorio de origen (por ejemplo, refs/heads/experimental), y eliminarlo.

Alternativamente, se podría utilizar la opción --delete.

Cuestiones relacionadas