remove - git tag push
Obteniendo un error fatal en git para entradas de etapas mĂșltiples (7)
Usando Git versión 2.2.0 con la unidad de motor de juego en OS X, y quería confirmar mi código. Agregué todo y no recibí un mensaje de error. luego confirma -m, y recibí este mensaje de error:
fatal: multiple stage entries for merged file ''Assets/Prefabs/Resources''
Sin darme cuenta, presioné, eso no dio un mensaje de error, de hecho, dijo que
Everything up-to-date
así que revisé bitbucket (donde se lleva a cabo el repositorio) y no mostró mi confirmación.
así que revisé mi registro local y eso tampoco muestra mi confirmación.
He buscado en Google una respuesta ... y nada. ¿Qué es este error? y como puedo arreglarlo?
Si esto sucede en un submódulo
El archivo de índice se encuentra dentro del directorio padre
.git
:
.git/modules/your_project_structure/index
En un submódulo, no hay directorios llamados
.git
(al menos en el proyecto en el que estoy trabajando), solo hay un archivo
.git
que le dice (y git) dónde buscar el directorio git de ese proyecto.
El estado de Git muestra cambios que no hice
Después de eliminar los archivos de índice y hacer un
git reset
, me encontré con muchos cambios inexplicables y un restablecimiento completo no estaba ayudando.
Advertencia , perderá todos sus cambios, así que confírmalos y presione antes de continuar.
El índice parecía dañado, así que lo eliminé con los siguientes comandos.
git rm -rf --cached .
git reset --hard HEAD
Para proyecto
rm .git/index
git reset
después de eliminar el índice, debe volver a crearlo mediante git reset
Para submódulo:
Ir a la carpeta principal del proyecto
rm .git/modules/your_project_structure/index
git reset --hard HEAD
Acabo de recibir este error con el Github Desktop Client (OSX). Todo lo que hice fue salir de la aplicación y volver a abrirla y luego comenzó a funcionar.
Creo que encontré este problema porque agregué y cometí cambios y luego eliminé un archivo que acababa de confirmar. Si esto suena similar a su caso, le recomiendo seguir lo siguiente para guardar la re-clonación y agregar manualmente sus cambios.
Pude solucionar este problema eliminando el archivo .git / index en mi repositorio, similar a lo que sugirió @slider (creo que escribió mal la ruta).
rm .git/index
Luego tuve que agregar y confirmar mis cambios locales nuevamente
git add -A
git commit -m "..."
Entonces pude empujar a distancia.
¿Qué es el índice git y cómo es relevante?
¿Cuál es el trato con el índice Git?
El "índice" de git es donde coloca los archivos que desea que se comprometan en el repositorio de git.
Antes de “confirmar” (registrar) archivos en el repositorio de git, primero debe colocar los archivos en el “índice” de git.
Creo que al eliminar este archivo, git volverá a indexar el repositorio, creará uno nuevo y listo. Resuelve este problema porque el repositorio local se vuelve a indexar sin el archivo que eliminé que causó todo el alboroto.
Editar: Parece que esto está relacionado con Mac (según los comentarios), así que si ayuda, estoy en OSX 10.10 y git versión 2.3.4 instalado a través de brew.
Intento una solución diferente y me funciona. Abajo están mis opciones
#cd .git
#rm index
#cd ..
#git add .
La primera solución, que parece funcionar con versiones recientes de Git (2.3+, Q2 + 2015) se menciona en la respuesta más actualizada de grant :
-
Eliminar el índice
$ rm .git/index
-
Añadir todo
$ git add -A
-
Cometer
$ git commit -a
Respuesta original (finales de 2014)
La solución habitual es:
- clonar nuevamente el repositorio remoto en un nuevo repositorio local
-
agregue los cambios del primer repositorio al segundo:
$ cd /patH/to/second/cloned/repo $ git --work-tree=/path/to/first/repo add .
Puede ver este mensaje de error en
read-cache.c
, discutido en este parche ("
read-cache.c
: asegúrese de que se eliminen las entradas no
read-cache.c
") e introducido en la
confirmación de Git 2.2
.
Como esto es tan reciente, es posible que
degradar
Git a 2.1 sea suficiente para no verse afectado por ese parche.
El agrega en los comentarios :
El problema ocurrió en mi macbook, que decidió fallar en mí, y otro error de la computadora me retrasó mucho en mis proyectos.
Puede eliminar el archivo de índice Git de su proyecto. En la raíz de su proyecto, ejecute el siguiente comando:
rm .git/index
Después de eso, funciona.