5 votos

Git clone falla con "fatal: múltiples actualizaciones para la referencia 'refs/tags/v1.0.0' no permitidas" en MacOS Mojave

Hice muchas operaciones en mi computadora anoche, básicamente actualizando/actualizando brew, que instaló una nueva versión de git, actualizó python, muchas cosas y hoy me di cuenta de que ya no podía clonar un repositorio.

git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git
Cloning into 'serverless-plugin-dynamodb-backups'...
remote: Enumerating objects: 589, done.
remote: Total 589 (delta 0), reused 0 (delta 0), pack-reused 589
Receiving objects: 100% (589/589), 304.18 KiB | 862.00 KiB/s, done.
Resolving deltas: 100% (333/333), done.
fatal: las actualizaciones múltiples para la referencia 'refs/tags/v1.0.0' no están permitidas

Intenté con diferentes repositorios y obtuve el mismo error cada vez, así que de alguna manera mi instalación está rota.

Intenté desinstalar/reinstalar git (con brew) pero no cambió nada.

Verifiqué otros comandos de git y todavía puedo hacer pull/commit

Estoy usando git 2.21.0

Realmente no sé qué hacer para solucionarlo y no sé qué causó esto. Además, no uso el comando git clone a diario, así que podría haberse roto antes, pero siento que está relacionado con la actualización de homebrew.


Agregando más detalles basados en comentarios/preguntas:

type git
git es un alias para LANG=en_GB git

mkdir ~/gitclone && cd ~/gitclone && git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git
Cloning into 'serverless-plugin-dynamodb-backups'...
remote: Enumerating objects: 589, done.
remote: Total 589 (delta 0), reused 0 (delta 0), pack-reused 589
Receiving objects: 100% (589/589), 304.18 KiB | 828.00 KiB/s, done.
Resolving deltas: 100% (333/333), done.
fatal: las actualizaciones múltiples para la referencia 'refs/tags/v1.0.0' no están permitidas

0 votos

¿Qué devuelve el tipo git? ¿Qué sucede si ejecutas mkdir ~/gitclone && cd ~/gitclone && git clone NAMEOFREMOTEREP?

0 votos

@nohillside Agregué la salida que pediste. Diría que no hay nada fuera de lo común en el comando git. Parece que el problema no está relacionado con una carpeta en particular, es a nivel del sistema.

7voto

Dan Gartner Puntos 560

¿Tienes un .gitconfig personalizado? Tuve que quitar el siguiente parámetro del mío para que funcionara clonar de nuevo:

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*

git v2.21.0 fue lanzado hace unos días, así que tal vez algo cambió en el fondo. Necesito ir a revisar las notas de la versión.

De todos modos, ¡espero que esto ayude!


Agregando un poco más de contexto, esta línea era muy común para buscar las etiquetas por defecto. Permitía hacer git fetch que también haría un equivalente a git fetch --tags en el fondo.

Básicamente, si deseas buscar etiquetas cuando haces un git fetch con esta versión git v2.21, puedes crear un alias en tu .gitconfig de la siguiente manera:

[alias]
    fetch = git fetch --tags

Haciendo esto y eliminando el fetch = +refs/heads/*:refs/remotes/origin/* resultará en el mismo comportamiento, pero compatible con git v2.21

Ver https://stackoverflow.com/questions/1204190/does-git-fetch-tags-include-git-fetch/20608181#20608181 para una explicación detallada y cambios en la historia.

0 votos

¡En efecto! Esa fue la razón :) ¡Gracias! No puedo otorgar la recompensa aún debido a la política de SO, pero lo lograste, Jon, ¡funciona de nuevo!

0 votos

Y ni siquiera sé qué se suponía que hacía esta configuración remote "origin", la tenía porque un compañero la estaba utilizando años atrás y la mantuve porque ¿por qué no? Tal vez era una buena práctica con el antiguo binario de git, me gustaría saber para qué sirve y si debo reemplazarlo por otra cosa ;)

0 votos

No estoy completamente seguro tampoco. Aquí tienes algo de documentación sobre refspec. ¡Quizás alguien más inteligente que nosotros pueda brindar más información :)

1voto

valkjsaaa Puntos 11

No estoy seguro si ese es el problema aquí, ¿has verificado si la carpeta en la que estás intentando clonar está vacía? También verifica si la carpeta en la que estás intentando clonar ya está siendo gestionada por otro repositorio git.

Puedes verificar si es un repositorio git haciendo git status y deberías ver que sale fatal: not a git repository (or any of the parent directories): .git.

0 votos

Hum, no creo que esté relacionado con el problema en absoluto. El comando git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git, que no especifica un directorio, creará uno por defecto. Y es totalmente posible clonar un repositorio de git desde dentro de otro repositorio de git :)

0 votos

Estás en lo correcto en ambos aspectos. Mi duda es que un repositorio git padre tiene algún error que está causando este problema. De todas formas, esos no son los problemas que estás teniendo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X