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í
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.
git rm - se adjuntó YourProjectFolderName .xcodeproj / project.xcworkspace / xcuserdata / yourUserName .xcuserdatad / UserInterfaceState.xcuserstate
git commit -m "Archivo eliminado que no debe ser rastreado"
git clean -f -d
Esto funciona para mi
Abra la carpeta que contiene el archivo de proyecto
project.xcworkspace
desde el terminal.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.