Git fatal: la referencia tiene un formato no válido: ''refs/heads/master
dropbox (8)
El archivo 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 buscar en todas partes en el subdirectorio .git
: find . -name ''*conflicted*''
find . -name ''*conflicted*''
O, de lo contrario, enumere las ramas activas con git branch -a
y elimine ( git branch -d
) cualquier cosa sospechosa.
Estoy usando Dropbox
para sincronizar un repositorio de git
, pero ahora cuando intento 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 copia. Ok, no hay problema, así que eliminé el archivo 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.
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 archivo .git/refs/heads/user-search-api (Sithu''s conflicted copy 2016-01-08)
en el repositorio remoto de Dropbox resolvió el problema.
Estaba recibiendo el mismo error
fatal: la referencia tiene un formato no válido: ''refs / heads / somebranch (1)''
para el siguiente comando
git branch
Luego, busqué el nombre erróneo (nombre de la rama seguido de (1)) usando el comando
find . -name ''somebranch (1)''
Y mostró el siguiente resultado
./.git/refs/heads/somebranch (1)
¿Cuál es alguna versión duplicada de alguna rama IMO? Entonces, eliminé esto ejecutando el comando find siguiente por delete
find . -name ''somebranch (1)'' -print -exec rm -rf {} /;
Entonces el comando de la rama se ejecuta con éxito
git branch
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 copia en conflicto. (Copia en conflicto de XXXX aaaa-mm-dd)
Y tire de ella normalmente.
Tenga en cuenta que mi colega tuvo los cambios antes de que se estropeara. Y empujó sus cambios nuevamente. Esta vez no hay cierre. :)
Para mí estaba dando error: fatal: Reference has invalid format: ''refs/tags/r0.2:3''
Puede ir al archivo /.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.
Prueba primero un git checkout master
para entrar en la rama sana y bien nombrada.
Pude borrar todos los archivos en conflicto de mi carpeta .git, pero seguí recibiendo errores sobre los archivos 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 texto "conflictivo".
haga una copia de seguridad de su repositorio si no está seguro de esto, porque estos comandos son irreversibles.
primero, vaya a su directorio de repositorios.
cd myrepo
luego busca recursivamente los archivos en conflicto y elimínalos
find . -type f -name "* conflicted copy*" -exec rm -f {} /;
por último, elimine cualquier referencia "conflictiva" del archivo packed-refs de git
awk ''!/conflicted/'' .git/packed-refs > temp && mv temp .git/packed-refs