Git fatal: la reference tiene un formatting no válido: 'refs / heads / master

Estoy usando Dropbox para sincronizar un repository de git , pero ahora cuando bash y push recibo un error:

 fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)' 

Entonces, parece que Dropbox detectó un conflicto y creó una copy. Ok, no hay problema, así que eliminé el file en conflicto. Aún así, obteniendo el error de git anterior.

 $ git checkout master M index.html Already on 'master' $ git add . $ git commit -a -m "Cleanup repo" [master ff6f817] Cleanup repo 1 file changed, 5 insertions(+), 5 deletions(-) $ git push fatal: Reference has invalid format: 'refs/heads/master (MacBook-Pro's conflicted copy 2012-10-07)' The remote end hung up unexpectedly` 

¿Cómo puedo arreglar esto? Gracias.

haga una copy de security de su repository si no está seguro de esto, porque estos commands son irreversibles.

primero, vaya a su directory de repositorys.

 cd myrepo 

luego busca recursivamente los files en conflicto y elimínalos

 find . -type f -name "* conflicted copy*" -exec rm -f {} \; 

por último, elimine cualquier reference "conflictiva" del file packed-refs de git

 awk '!/conflicted/' .git/packed-refs > temp && mv temp .git/packed-refs 

El file en conflicto podría estar en varios lugares, lo examinaría:

 .git/logs/refs/remotes/origin/ .git/logs/refs/heads/ .git/refs/remotes/origin/ .git/refs/heads/ 

O puede search en todas partes en el subdirectory .git : find . -name '*conflicted*' find . -name '*conflicted*'

O, de lo contrario, enumere las twigs activas con git branch -a y elimine ( git branch -d ) cualquier cosa sospechosa.

Esto también le sucede a nuestro equipo cuando mi colega empuja sus cambios y apaga la PC antes de que se actualice Dropbox.

Lo resolví tan simple.

Acaba de eliminar la copy en conflicto. (Copia en conflicto de XXXX aaaa-mm-dd)

Y tire de ella normalmente.

Tenga en count que mi colega tuvo los cambios antes de que se estropeara. Y empujó sus cambios nuevamente. Esta vez no hay cierre. 🙂

Pude borrar todos los files en conflicto de mi carpeta .git, pero seguí recibiendo errores sobre los files que ya no existían.

La solución para mí fue abrir .git/refs/packed_refs y eliminar las líneas que contenían el text "conflictivo".

Prueba primero un git checkout master para entrar en la twig sana y bien nombrada.

Estaba recibiendo el mismo error

fatal: la reference tiene un formatting no válido: 'refs / heads / somebranch (1)'

para el siguiente command

 git branch 

Luego, busqué el nombre erróneo (nombre de la twig seguido de (1)) usando el command

 find . -name 'somebranch (1)' 

Y mostró el siguiente resultado

./.git/refs/heads/somebranch (1)

¿Cuál es alguna versión duplicada de alguna twig IMO? Entonces, eliminé esto ejecutando el command find siguiente por delete

 find . -name 'somebranch (1)' -print -exec rm -rf {} \; 

Entonces el command de la twig se ejecuta con éxito

 git branch 

Para mí estaba dando error: fatal: Reference has invalid format: 'refs/tags/r0.2:3'

Puede ir al file /.git/packed_refs y eliminar la línea para refs/tags/r0.2:3

Entonces comenzó a funcionar. Pero no sé por qué sucedió en primer lugar.

Encontré el error similar como

 fatal: Reference has invalid format: 'refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08)' 

Simplemente la eliminación del file .git/refs/heads/user-search-api (Sithu's conflicted copy 2016-01-08) en el repository remoto de Dropbox resolvió el problema.