tag remove practices crear best git github head master

git - remove - Diferencia entre HEAD y master



git rename tag (3)

La respuesta simple es que HEAD es un puntero / etiqueta a la confirmación más reciente de la rama en la que se encuentra actualmente. master es la rama predeterminada creada cuando inicializó un repositorio de git (por ejemplo, git init ).

Puede eliminar la rama master (por ejemplo, git branch -D master ). No puede eliminar el puntero HEAD .

¿Cuál es la diferencia entre HEAD y master en Git?

Hice un clon de un proyecto en GitHub y deseo enviar mis cambios al control remoto. ¿Pero a cuál debería presionar?


Simplemente presione los cambios de su rama actual

git push origin

y empujará los cambios de su rama '' B '' a '' origin/B ''.
Si estás en tu rama master , git empujará a origin/master .
En realidad, impulsará todos los cambios en las sucursales locales que tienen ramas remotas coincidentes en el origin . Se controla mediante la configuración config push.default .
Ver también presionando RefSpecs en el libro de Pro Git .

Lo que está viendo es la barra lateral que representa todas las referencias de su repositorio remoto en el fork Experimental GitX del proyecto GitX .

HEAD designará la rama predeterminada para ese control remoto.
Ver la página man de git remote set-head :

No es necesario tener una bifurcación predeterminada para un control remoto, pero permite especificar el nombre del control remoto en lugar de una bifurcación específica.
Por ejemplo, si la rama predeterminada para el origin está configurada como master , entonces el origin se puede especificar donde sea que normalmente se especifique origin/master .


master es una referencia al final de una rama. Por convención (y por defecto) esta suele ser la rama de integración principal, pero no tiene que ser así.

HEAD es en realidad un tipo especial de referencia que apunta a otra referencia. Puede señalar como master o no (señalará la rama que esté actualmente desprotegida). Si sabes que quieres comprometerte con la rama master , presiona para esto.

Aquí hay un ejemplo visual:

En su propio repositorio puede verificar hacia dónde apunta HEAD ejecutando esto:

$ git symbolic-ref HEAD refs/heads/master

Sin embargo, descubrir a qué apuntan los remotes/origin/HEAD es más complicado porque está en la máquina remota.

Hay un gran pequeño tutorial sobre referencias git aquí:

http://people.gnome.org/~federico/news-2008-11.html#pushing-and-pulling-with-git-1