El estado de "no rama" se llama una CABEZA separada. Se llama así porque la referencia HEAD no está adjunta a ninguna rama, sino que apunta directamente a un compromiso. Para adjuntar HEAD a una rama que apunta a la confirmación HEAD actual, use git checkout -b branchname
.
Puede actualizar de forma segura una rama existente para incluir las confirmaciones en HEAD con esta secuencia:
git branch temp
git checkout branchname
git merge temp
git branch -d temp
O, equivalentemente, usando la notación de reflog. HEAD@{1}
Para evitar tener que realizar la rama temporal:
git checkout branchname
git merge HEAD@{1}
Usar la rama temporal sería una buena idea si no fuera a hacer la fusión inmediatamente.
Si desea sobrescribir por la fuerza una rama existente para que apunte a la confirmación en HEAD, puede usar git branch -f branchname && git checkout branchname
. Si el commit en HEAD no está basado en la punta actual de nombre de rama esto resultará en un cambio de no avance rápido a nombre de rama que normalmente quieres evitar (se ve como un historial de reescritura).
git merge $COMMIT_SHA
Una vez estuve en la otra rama.