Cabeza separada con twig completamente fusionada?

Estoy usando GIT con Android Studio (significa: normalmente ejecuto GIT desde la UI y confío en Android Studio en lugar de utilizar la command-line). De vez en cuando, Android Studio entra en un estado de cabeza separada sin ninguna razón, como me parece.

Tengo mi "HEAD", "master" y "origin / master" en el mismo commit. Cuando hago una "comparación" obtengo el resultado "El origen / maestro de la sucursal está completamente fusionado con el local" 149c716 "y viceversa.

Cuando trato de fusionar la twig remota en la actual, obtengo "Ya está actualizado".

Pero cuando realizo cambios locales y trato de enviarlos a control remoto, recibo una advertencia sobre "Cabeza separada".

Lo que hice: revisé una confirmación previa, la compilé para get los ejecutables, luego revisé la confirmación reciente de msot sin hacer ningún cambio.

Sé que hay publicaciones sobre cómo reconceblar una cabeza desprendida, pero a mí me da la printing de que ni siquiera la tengo.

enter image description here

Encontré esto en el logging, por lo que parece que un file de compilation no se ha excluido correctamente. Y creo que sucedió porque "build / *" se especificó en gitignore, en lugar de "build /". ¿Puedo ignorar el file de compilation de alguna manera o forzar una salida que sobrescriba todo lo local? Cuando llamo "fusionar", me dice que no hay nada que fusionar.

error: Your local changes to the following files would be overwritten by checkout: build/intermediates/dex-cache/cache.xml Please, commit your changes or stash them before you can switch branches. Aborting 

No está claro cómo se comporta Android Studio, pero normalmente

 git checkout SHA 

Siempre lo moverá a un estado principal separado.

Si está registrado en una sucursal y desea hacer que su copy de esa sucursal apunte a una confirmación diferente, debería usar

 git reset --hard SHA 

Tenga en count que el restablecimiento completo no funciona en un directory seguro.

Si se encuentra en estado de cabeza separada, puede volver a salir escribiendo

 git checkout BRANCH