El error al build treees evita el compromiso de ramificar

Tengo un repository git local en mi Mac que es administrado por Xcode. Recientemente creé una nueva sucursal y he realizado muchos cambios desde entonces. Estaba a punto de realizar mi primer compromiso con esta nueva twig y me presentaron un dialog de error:

La copy de trabajo "nombre de la aplicación" no pudo confirmar los files.
error: object no válido 100644
888688965 … para 'Supporting Files / animage.png'
error: Error al build treees

Busqué en Interwebs una solución y encontré esta pregunta que parece ser el mismo problema. Probé ambas respuestas a esta pregunta y ninguno me resolvió el problema. He hecho todo lo que puedo pensar para resolver el problema pero no he tenido éxito.

  • Intenté search el file problemático como respuesta sugerida, pero no hay files en /repo/.git/objects/88. También busqué copys de security (tengo copys de security de Time Machine por hora) pero nunca hubo files en esa carpeta.
  • Intenté git reset --hard y esto eliminó los cambios no confirmados, pero después de hacerlo no puedo confirmar un cambio simple. Se presenta exactamente el mismo post de error.
  • Traté de eliminar la image a la que se hace reference en el post de error, pero luego la siguiente vez que bash cometer el mismo error aparece haciendo reference a una image diferente. Después de destruir todas las imágenes, comenzó a enumerar los files de código.
  • Intenté crear una nueva twig y comprometerme con esa twig, pero se presentó el mismo error.
  • Cambié a mi otra partición donde trabajé anteriormente en este proyecto (los files se sincronizan a través de Dropbox, que pudo haber sido la causa del problema) e intenté una confirmación solo para experimentar el mismo post de error.
  • Finalmente decidí restaurar todo el proyecto a un punto anterior en el time, volví hace dos meses antes incluso de crear sucursales, pero aún así un simple compromiso se niega a funcionar. Esto me hace creer que se trata de un factor externo, algo que está fuera de la carpeta del proyecto. Sé que funcionó en ese momento, así que esto me tiene muy confundido. Este es el error presentado:

La copy de trabajo "nombre de la aplicación" no pudo confirmar los files.
fatal: no se puede leer el tree 781d …

Después de ejecutar git fsck --full veo que hay varios enlaces rotos de los treees, muchos blobs que cuelgan, varios blobs que faltan y dos treees que faltan.

El resultado de git for-each-ref --format='%(refname)' | while read ref; do git rev-list --objects $ref >/dev/null || echo "in $ref"; done git for-each-ref --format='%(refname)' | while read ref; do git rev-list --objects $ref >/dev/null || echo "in $ref"; done git for-each-ref --format='%(refname)' | while read ref; do git rev-list --objects $ref >/dev/null || echo "in $ref"; done :
fatal: falta el object blob '8886889658056c4ce52d46a485933c8df7a4de84'
en refs / heads / UniversalStoryboard
fatal: falta el object blob '8886889658056c4ce52d46a485933c8df7a4de84'
en refs / heads / Update1
fatal: falta el object blob '8886889658056c4ce52d46a485933c8df7a4de84'
en refs / heads / iOS-8-Update
fatal: falta el object blob '8886889658056c4ce52d46a485933c8df7a4de84'
en refs / heads / master

Después de intentar clonar el repository, esto es lo que se registra:
error: no se puede leer el file sha1 de nombre de aplicación / Images.xcassets / AppIcon.appiconset / Icon-Small-1.png (86672e7aa0d5ad36563feef30c15a5d31f921802)
error: no se puede leer el file sha1 de appname / Images.xcassets / AppIcon.appiconset / Icon-Small.png (86672e7aa0d5ad36563feef30c15a5d31f921802)
error: no se puede leer el file sha1 de appname /Images.xcassets/LaunchImage.launchimage/DefaultPortrait@2x.png (7d97eba35cf392ddb1a705109b721fcd6a20ea29)
error: no se puede leer el file sha1 de appname / appname-Prefix.pch (82a2bb45076d290ce7461b28d5a579e649777779)
fatal: no se puede pagar el tree de trabajo
advertencia: el clon fue exitoso pero el process de pago falló.

En este momento estoy dispuesto a hacer cualquier cosa para evitar tener que destruir todo el repository de git y comenzar de nuevo. No quiero perder mis twigs y mi historia. ¿Cómo puedo solucionar este problema? Tengo una copy de trabajo del directory del proyecto exactamente como estaba cuando descubrí por primera vez el error, así como copys de security de Time Machine para todo el historial de este proyecto. Cualquier cosa que pueda sugerir es apreciada.

Una solución es:

  • volver a la línea de command.
  • clone su repos actual
  • intente y cree una nueva ramificación / nueva confirmación en ese clon.

Si anteriormente había presionado su repository, intente clonar el repository remoto en lugar del local.
O intente clonar el repository como guardado por la máquina del time.

Si eso no funciona, tiene un repository roto y puede probar algunos de los methods expuestos en " Árbol contiene inputs de files duplicates ".

¿Has cambiado la versión de git? ¿Utiliza solo el que viene con Xcode, o tiene una versión obsoleta instalada en la Terminal? Uno que podría estar corrompiendo el repository. (Pruebe 'git –version' – la versión actual es 2.0.4, y se instala fácilmente usando homebrew).

¿Hay algún permiso extraño en la carpeta repo que impida que git funcione?