Combina los commits actuales de git repo roto en repo fijo (antiguo)

Estoy trabajando en un proyecto que tiene un repository SVN central. Elegí a Git para trabajar en tareas locales a través de git svn rebase y git svn dcommit . Recientemente, me di count de que mi repository local de Git estaba dañado, posiblemente debido a fallas en el disco duro. Desafortunadamente, todas mis copys de security muestran los mismos errores: el historial se cortó antes del 26 de octubre de 2014. Sin embargo, el pago actual parece no haber sufrido daños.

 $ git log .... commit cfccebf2d... Author: jens Date: Sun Oct 26 21:37:01 2014 +0000 Add profiling support git-svn-id: svn+ssh://IP/srv/.../trunk@5800 fa8e1804-... error: Could not read b2f50c7c1... fatal: Failed to traverse parents of commit 01cec01c.... 

git fsck muestra muchos errores también:

 warning in tree ae1b5217e8f9713566b5867d9fe2986af4c8c2c6: contains zero-padded file modes warning in tree c5ce65312b1cd4d84a78f30766a21308a9d12ea1: contains zero-padded file modes warning in tree 538e6404bd24c40ac286e6e4614db3056c3774b6: contains zero-padded file modes warning in tree 01eb58ab73e154e2b094d3a9c2f06742c1ca9b57: contains zero-padded file modes Prüfe Objekte: 100% (82279/82279), Fertig. broken link from tree 258a66eaae794a83abee061fa52e87b8d9523a84 to tree b2aad577c42142cb3d26f498b346ea8ee2fa0b4b dangling blob 7c095801143f844f6ff02484cd357a67e41f2b99 dangling blob 4112e0570791275836c68638846c7239e8dc22a4 dangling commit a41b40b6b9c39d79f5a7fb83aceca5891ec4eeae 

… y alnetworkingedor de 40 blobs y commits más.

¿Tiene sentido intentar reparar este repository al ver y volver a unir los bits colgantes? ¿O debería crear las twigs en el server SVN, dcommit todo y luego volver a clonar?

O también puedo recolocar el repository SVN ( git svn clone svn+ssh://IP/... ) y luego copyr todos mis cambios locales que aún no se habían dcommit al server SVN al nuevo repository. Esto incluye alnetworkingedor de diez sucursales antiguas y dos nuevas con muchos compromisos. Si hay una forma clara de sincronizar un repository de Git con otro a partir de un compromiso específico aparte de exportar todas las twigs como series de files de parches y hacer manualmente un bucle de parche + confirmación, esta podría ser la mejor solución (¿no?).

¿Cuál es la mejor manera de reparar mi repository de git? Estoy usando Git 2.5.1 en OS X Yosemite.