Git Ayuda UserInterfaceState.xcuserstate: advertencia: conflicto de Fusión: Archivo marcado como en conflicto

Tengo un proyecto en el que he estado trabajando en Xcode 4.4.1, y quería volver a una anterior de la Rama.
(Nota de las ramas no son complejos, pero representan un desarrollo lineal)

Cuando he seleccionado la rama anterior había una advertencia

UserInterfaceState.xcuserstate: warning: Merge conflict: File still marked as conflicted

Todo parecía bien, pero todos los que construir y ejecutar los elementos de menú son de color gris, entonces no puedo hacer nada.

Traté de volver a la última rama, y este se ve bien, pero todavía hay un conflicto de Combinación
MyProject.xcodeproj/proyecto.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate: advertencia: conflicto de Fusión: Archivo marcado como en conflicto

He intentado un git status, que no ayuda

# Unmerged paths:
...
#   deleted by them:    MyProject.xcodeproj/project.xcworkspace/xcuserdata/ian.xcuserdatad/UserInterfaceState.xcuserstate
#
# Changes not staged for commit:
...
#
#   deleted:    MyProject.xcodeproj/xcuserdata/ian.xcuserdatad/xcschemes/QuollEyeTree.xcscheme

He intentado un git reset HEAD, pero este no parece ayudar, y no sé a dónde ir desde aquí.

Git es útil para el código de comprobación respecto de las anteriores versiones, pero me da problemas siempre he intentar cambiar las versiones.

Mis problemas actuales parecen haber sido exacerbado cuando traté de crear un espacio de trabajo y agregar otro proyecto.
El proyecto original fue creado en virtud de Xcode 3 y el proyecto de los archivos y de inmediato bajo el directorio del proyecto.

EDITAR – Resuelto

Las respuestas que figuran a continuación no resuelve el problema, pero ambos fueron útiles.

He salvado mi código desde el directorio del proyecto, eliminado la última rama con

git reset --hard HEAD~1

a continuación, copiar los archivos que han cambiado de nuevo el directorio de proyecto

También he actualizado mi .gitignore (que yo pensaba que había hecho antes)

InformationsquelleAutor Milliways | 2012-08-30

4 Kommentare

  1. 16

    Yo tenía el mismo problema que tuvo después de resolver mis conflictos y esto es lo que me fijo.
    Si el uso de Xcode para seguir la pista de su repositorio git tratar el siguiente.
    1. Me ha resuelto todos los conflictos, a continuación, guarda el resuelto archivos.
    2. Ir a Archivo -> Fuente de Control -> Marcar Como Resuelto

    Voila Xcode ya no reconoce estos archivos como tener conflictos. Esperemos que esto funciona para otra.

    • Gracias hombre! Esa es la mejor solución, supongo, y trabajó como un encanto.
  2. 5

    Cuando hay un conflicto de combinación, se DEBE resolver primero. (bueno, tal vez usted puede ejecutar git merge --abort para volver).

    Por lo que el proceso es abrir su archivo en conflicto, se busca el conflicto, resolverlo (edición de el conflicto de las líneas), a continuación, guarde el archivo, agregar (con la git add -u) y a cometer.

    Entonces usted puede trabajar en un directorio de trabajo.

    Por el camino, un conflicto probablemente se parece a:

    <<<<<<< yours:sample.txt
    Conflict resolution is hard;
    let's go shopping.
    =======
    Git makes conflict resolution easy.
    >>>>>>> theirs:sample.txt
    

    referencia: http://www.kernel.org/pub/software/scm/git/docs/git-merge.html

    • Entiendo que la resolución de los conflictos, pero ¿cómo hago para MyProject.xcodeproj/proyecto.xcworkspace Este no se muestra en Xcode PS La referencia parece bastante útil
    • Supongo que usted debe buscar en los diferentes archivos de la lista, uno tiene probablemente un conflicto. Si ninguno tiene, escenario de ellos para cometer (es decir, ejecutar git add) y confirmación. Puede ejecutar un diff antes de comprometerse a asegurar que los conflictos son resueltos. Si se elimina un archivo, puede utilizar git reset en él. No recuerdo exactamente cómo se debe utilizar, pero usted puede buscar para su referencia doc.
  3. 4

    Ejecución

    git mergetool 
    

    y la resolución de los conflictos se ha solucionado el problema para mí.

    Como una nota del lado yo uso el Comando-D para desplazarse a los conflictos, escoger un lado en la esquina inferior derecha de FileMerge, luego de Comandos de Comandos-S-P (en Mac) una vez terminado de guardar y salir.

  4. 1

    Primer lugar, hacer un buen hábito de añadir *.xcuserstate y patrones para hacer caso omiso de otros específicos del usuario, los archivos de proyecto para su .gitignore. Hay un popular repo de github para .gitignore archivos, incluyendo uno para proyectos con Xcode.

    Además de la resolución de conflictos (como se mencionó), usted también debe hacer un buen hábito para guardar tus cambios, mientras que checkout-ing diferentes jefes (ramas, etiquetas, etc).

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea