xcschememanagement xcode git xcode4 gitignore

xcode - xcschememanagement - No se puede ignorar UserInterfaceState.xcuserstate



xcode gitignore swift (11)

Estoy usando Git para el control de versión del proyecto Xcode 4. ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstate explícitamente ProjectFolder.xcodeproj/project.xcworkspace/xcuserdata/myUserName.xcuserdatad/UserInterfaceState.xcuserstate a .gitignore , pero Git no lo ignorará. ¿Alguna idea de por qué esto es así?


¡Solo "git clean -f -d" funcionó para mí!


Aquí hay algunos ejemplos y atajos si usa GitHub, las ideas básicas son las mismas.

1. Abrir terminal como este

2. Pegue el siguiente comando en el terminal seguido de un espacio y luego pegue la ruta del archivo .xcuserstate simplemente así

git rm --cached

3. Asegúrate de que tienes el git correcto ignorado y luego confirma el código :)


Aquí hay una muy buena explicación de cómo eliminar recursivamente los archivos en cuestión de su historial de git: http://help.github.com/remove-sensitive-data/

Muy útil, porque de lo contrario las herramientas tienden a "colgarse" al intentar mostrar la diferencia en esos archivos enormes que no deberían haberse revisado en primer lugar ...

Esto es lo que puede hacer (en resumen) para deshacerse de las cosas más grandes:

cd YourProject git filter-branch --index-filter ''git rm --cached --ignore-unmatch -r YourProject.xcodeproj/project.xcworkspace'' HEAD # see what you want to do with your remote here... # you can: git push origin master --force # or you can delete it and push a fresh new one from your cleaned-up local... rm -rf .git/refs/original git gc --prune=now git gc --aggressive --prune=now

Funcionó muy bien para mí :)


En caso de que el archivo ignorado siga apareciendo en la lista sin seguimiento, puede usar git clean -f -d para aclarar las cosas.

  1. git rm - se adjuntó YourProjectFolderName .xcodeproj / project.xcworkspace / xcuserdata / yourUserName .xcuserdatad / UserInterfaceState.xcuserstate

  2. git commit -m "Archivo eliminado que no debe ser rastreado"

  3. git clean -f -d


En caso de que el archivo siga apareciendo incluso después de hacer todo lo mencionado aquí, asegúrese de que esta casilla de verificación en la configuración de Xcode no esté marcada:


Esto funciona para mi

  1. Abra la carpeta que contiene el archivo de proyecto project.xcworkspace desde el terminal.

  2. Escribe este comando: git rm --cached *xcuserstate

Esto eliminará el archivo.


Git probablemente ya está rastreando el archivo.

De los documentos gitignore :

Para detener el seguimiento de un archivo que actualmente se rastrea, utilice git rm --cached .

Use esto, reemplazando [project] y [username] con su información:

git rm --cached [project].xcodeproj/project.xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate git commit -m "Removed file that shouldn''t be tracked"

Alternativamente, puede usar la opción -a para git commit que agregará todos los archivos que se hayan modificado o eliminado.

Una vez que hayas eliminado el archivo de git, respetará tu .gitignore .


Para mi nada funcionó, pero esto

añade esta linea a tu gitignore

*.xcuserdata


Para xcode 8.3.3, acabo de verificar, probé el código anterior y observé que, ahora en este caso, tenemos que cambiar los comandos para que me guste.

primero puedes crear un archivo .gitignore usando

touch .gitignore

después de eso, puede eliminar todo el archivo UserInterface utilizando este comando y este comando respetará su archivo .gitignore.

git rm --cached [project].xcworkspace/xcuserdata/[username].xcuserdatad/UserInterfaceState.xcuserstate git commit -m "Removed file that shouldn''t be tracked"


Todas las respuestas son excelentes, pero aquí está la que se eliminará de cada usuario si trabaja en diferentes Mac (hogar y oficina)

git rm --cache */UserInterfaceState.xcuserstate git commit -m "Never see you again, UserInterfaceState"


Un amigo me mostró este increíble sitio https://www.gitignore.io/ . Ingrese el IDE de su elección u otras opciones y generará automáticamente un archivo gitignore que consiste en ignorados útiles, uno de los cuales es xcuserstate . Puede previsualizar el archivo gitignore antes de descargar.