GIT: `error: no se puede encontrar <commit>` y `fatal: object <commit> not found` en pull

Tenemos un repository en Bitbucket, que usamos como repository central:

  1. lo actualizamos a través de requestes de extracción o directamente presionando cambios, y
  2. sincronizamos los últimos cambios en serveres remotos tirando de él.

Esto ha estado funcionando como un encanto durante aproximadamente un año, pero ahora no podemos sacar los cambios de este repository para actualizar un server remoto:

$ git pull origin remote: Total 0 (delta 0), reused 0 (delta 0) error: unable to find a1354e341c6773997c31a109e615d1bf9acb0119 fatal: object a1354e341c6773997c31a109e615d1bf9acb0119 not found 

No obstante, este object / compromiso está disponible en Bitbucket y también en mi máquina local (donde lo generé y luego lo envié al repository central).

He estado lidiando con este problema por más de 8 horas. Mi conocimiento de Git es apenas suficiente para hacer cosas básicas, así que probé ciegamente muchas soluciones posibles que funcionaban para otras personas en la misma situación que encontré en la Web, pero ninguna de ellas ha producido resultados. Intenté cosas como:

 $ git gc $ git fsck --full $ git reflog expire --expire=0 --all 

También reinicié el estado previo del repository y volví a aplicar los cambios nuevamente, pero tampoco funcionó.

¿Alguna pista sobre esta asignatura?

EDITAR:

Jonathan Swinney me preguntó qué sucede cuando trato de clonar el repository. Bueno, es un poco raro. Si lo clono en mi máquina local, funciona bien, pero no funcionará en un server remoto a través de SSH:

 $ git clone https://******@bitbucket.org/******/******.git Initialized empty Git repository in /root/a/idpro/.git/ Password: remote: Counting objects: 19853, done. remote: Compressing objects: 100% (7525/7525), done. remote: Total 19853 (delta 12910), reused 15843 (delta 10336) Receiving objects: 100% (19853/19853), 21.12 MiB | 6.00 MiB/s, done. Resolving deltas: 100% (12910/12910), done. error: refs/remotes/origin/master does not point to a valid object! error: Trying to write ref refs/heads/master with nonexistant object c16203dc93b1557fc1d01102ea460663a8112e50 fatal: Cannot update the ref 'HEAD'. 

Puede observar que c16203dc93b1557fc1d01102ea460663a8112e50 no es la misma cabeza que la anterior ( a1354e341c6773997c31a109e615d1bf9acb0119 ) ya que saqué de otro repository local y empujé los cambios al central como parte de mis bashs de resolver el problema.

Resultó ser un problema de versionado. Una vez que actualizamos nuestras versiones de GIT, funcionó correctamente.

sudo yum upgrade -skip-broken -y git

Entonces, de nuevo, haz la conversión de git y debería decirte algo> 1.8

Luego testing el origen de git pull.