O estado "sem ramificação" é chamado de HEAD desanexado. Isso é chamado porque a referência HEAD não está anexada a nenhum ramo, mas está apontando diretamente para uma confirmação. Para anexar HEAD a uma ramificação que aponta para o commit HEAD atual, use git checkout -b branchname
.
Você pode atualizar com segurança uma ramificação existente para incluir as confirmações no HEAD com esta sequência:
git branch temp
git checkout branchname
git merge temp
git branch -d temp
Ou, de forma equivalente, usando a notação de reflog HEAD@{1}
para evitar a criação da ramificação temporária:
git checkout branchname
git merge HEAD@{1}
Usar a ramificação temporária seria uma boa idéia se você não fizesse a mesclagem imediatamente.
Se você deseja sobrescrever uma ramificação existente para apontar para o commit em HEAD, você pode usar git branch -f branchname && git checkout branchname
. Se a confirmação no HEAD não for baseada na ponta atual do nome da filial, isso resultará em uma alteração sem avanço rápido do nome da filial que você normalmente deseja evitar (é vista como um histórico de reescrita).
git merge $COMMIT_SHA
vez que estava no outro ramo.