No puedo comprometer – arruiné mi control sourceCode, ¿cómo solucionarlo?

Hola compañeros progtwigdores,

Accidentalmente agregué todo mi proyecto a mi proyecto, no una, sino dos veces, ya que estaba buscando otra funcionalidad. Como las carpetas no aparecían en Xcode, fui a Finder y las borré manualmente del sistema de files nuevamente (hasta ahora todo bien, ya que recibí todas las advertencias 4x).

Pero ahora, cuando quiero enviar cambios al control sourceCode, aparece este error:

fatal: Could not switch to '/Users/myID/Developer/iOS/ProjectName/ProjectName/ProjectName': No such file or directory 

No tengo ni idea de qué hacer, ¿alguien ha tenido tal problema? Limpiar el proyecto no ayuda, eso es todo lo que podía pensar, ¡porque no tengo tanta experiencia!

¡Ayuda ESTOY MUY apreciado!

PD: estoy ejecutando Xcode 4.3.2 en OSX 10.7.4

Para algo tan serio como este, crearía un nuevo repository git, comenzando desde la revisión de compromiso antes del error.

Suponga que su código está en ~/Source/MyProject .

  • Primero vas a necesitar la revisión de compromiso antes de la falla. Puede get el suyo desde la línea de command usando git log o mejor aún puede usar la excelente (y gratuita) aplicación SourceTree para Mac. Supongamos que es 62a6614fb55d692cd5a6e251cc05dea45d9668fe.

  • Luego comience un nuevo repository: $ mkdir ~/Source/MyProjectNew; cd ~/Source/MyProject/New; git init $ mkdir ~/Source/MyProjectNew; cd ~/Source/MyProject/New; git init $ mkdir ~/Source/MyProjectNew; cd ~/Source/MyProject/New; git init .

  • Agregue el proyecto anterior como el 'origen remoto' del nuevo proyecto: $ git remote add origin ~/Source/MyProject .

  • Obtenga el código pre-atornillado: $ git fetch origin 62a6614fb55d692cd5a6e251cc05dea45d9668fe .

  • Restablezca la twig maestra a la confirmación pre-atornillada: $ git reset --hard FETCH_HEAD .

  • Eliminar el origen: $ git remote rm origin .

Ahora tiene un nuevo repository sin el código dañado. Necesita cambiar el nombre del repository viejo y nuevo y continuar con su vida.