Xcode: "La copy de trabajo ____ tiene cambios no confirmados" vs. estado de git: "no hay nada que confirmar, directory de trabajo limpio"

En Xcode 5.0.2, trato de extraer de un control remoto y me aparece el siguiente post:

"La copy de trabajo 'nombre-proyecto' tiene cambios no confirmados. Comente o descarte los cambios y vuelva a intentarlo".

Lo suficientemente justo. Levanto el dialog de confirmación y luego aparece el post "Este file no existe en la revisión solicitada". Al hacer clic en 'Aceptar' me lleva al dialog de confirmación. (No se muestra ninguna revisión en el panel derecho, presumiblemente por el mismo motivo por el que recibí el post más reciente.) Al seleccionar la vista plana, veo que solo hay un file modificado: project.pbxproj . Introduzco un post de confirmación y hago clic en 'Commit 1 File'. Cuando voy a tirar, encuentro que estoy exactamente en la misma position que antes: aparecen los mismos posts y no puedo tirar (o empujar) sin importar cuántas veces me comprometo.

Curioso, corro git diff para ver qué ha cambiado. Nada. git status me proporciona resultados igualmente útiles: nothing to commit, working directory clean . git push o git pull ? Sí, esos funcionan bien desde la línea de command.

Entonces, ¿qué da? ¿Por qué Xcode insiste en que tengo cambios en mi directory de trabajo? ¿Por qué no me dirá cuáles son? He intentado reiniciar Xcode y el sistema. Si bien estoy contento de que todavía tengo alguna manera de empujar y tirar, sería realmente bueno si la integración de Xcode git se estuviera comportando bien. ¿Algunas ideas?

He encontrado estas preguntas similares, pero ninguna aborda este problema en particular (o proporciona una solución aceptable):

  • No se puede empujar, tirar o fusionar git. "Copia de trabajo tiene cambios sin compromiso"
  • Confirme o descarte los cambios y vuelva a intentarlo
  • La extracción de Git falla: tiene cambios sin escena. Estado de Git: nada que confirmar (directory de trabajo limpio)
  • Xcode Version Controll GIT – tiene cambios no confirmados, justo después de confirmar
  • Xcode dice "Cambios no confirmados" Siempre que trato de moverlo o empujarlo

Bien, entonces arreglé mi problema.

Con Xcode abierto:

  1. Abra el terminal – cd / a su directory de proyecto.
  2. Escriba: " git reset --hard "
  3. Escriba en git status

Reinicie Xcode y realice una confirmación (solo un comentario o algo)

Repita los pasos anteriores.

Esto resolvió mi problema para mí.

Debes arreglarlo con la línea de command git. Vaya a su carpeta de trabajo en Terminal, escriba:

 git status 

Eso le mostrará qué files tienen cambios no confirmados. Crashlytics, por ejemplo, se actualizará tan pronto como lo ejecute, e incluso al usar Xcode / Source Control / Discard Changes no se deshará de él.

Una vez que vea los files que tienen cambios no confirmados (ignore los files agregados), use:

 git checkout -- Folder/filename.ext 

Eso es lo mismo que un "descarte" en Xcode.

Después de que hayas hecho eso, regresa a Xcode y deberías poder cambiar de twig.

Solución de código de aplicación:

  1. Confirme el estado de git en la Terminal:

    estado de git

  2. Abra 'yourProject.xcworkspace' en el código de la aplicación

  3. VCS> Git> Sucursales …

  4. Remote Branches> yourBranch> Checkout como nueva sucursal local

  5. Confirmar la reparación a través de la Terminal:

    estado de git