Respuestas:
Git probablemente ya esté rastreando el archivo.
De los documentos de gitignore :
Para dejar de rastrear un archivo que se rastrea actualmente, use 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 -a
opción para git commit
agregar todos los archivos que han sido modificados o eliminados.
Una vez que haya eliminado el archivo de git, respetará su .gitignore
.
En caso de que el archivo ignorado siga apareciendo en la lista no rastreada, puede usarlo git clean -f -d
para borrar las cosas.
1)
git rm --cached {YourProjectFolderName}.xcodeproj/project.xcworkspace/xcuserdata/{yourUserName}.xcuserdatad/UserInterfaceState.xcuserstate
2)
git commit -m "Removed file that shouldn't be tracked"
3. ADVERTENCIA primero intente git clean -f -d --dry-run
, de lo contrario puede perder cambios no confirmados.
Luego:
git clean -f -d
git clean -f -d --dry-run
para ver qué sucede
git clean -f -d
hacer?
git clean -f -d
si tiene cambios de archivos no confirmados! ¡Lo usé y eliminó mis archivos recién creados con contenido ya creado! :) Así que primero comete y luego limpia
Todas las respuestas son geniales, pero esta es la que eliminará para cada usuario si trabaja en una Mac diferente (hogar y oficina)
git rm --cache */UserInterfaceState.xcuserstate
git commit -m "Never see you again, UserInterfaceState"
Un amigo me mostró este sitio increíble https://www.gitignore.io/ . Ingrese el IDE de su elección u otras opciones y automáticamente generará un gitignore
archivo que consiste en ignoraciones útiles, una de las cuales es xcuserstate
. Puede obtener una vista previa del gitignore
archivo antes de descargarlo.
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 esté desmarcada:
Aquí hay algunas demostraciones y atajos si usa GitHub, las ideas básicas son las mismas.
1. Abra la terminal así
2. Pegue el siguiente comando en la terminal seguido de un espacio y luego pegue la ruta del archivo .xcuserstate simplemente así
3. Asegúrese de tener el git correcto ignorar y luego confirme el código :)
Aquí hay una muy buena explicación de cómo eliminar los archivos en cuestión de forma recursiva de su historial de git: http://help.github.com/remove-sensitive-data/
Muy útil, porque de lo contrario las herramientas tienden a "bloquearse" al intentar mostrar la diferencia en esos archivos enormes que no deberían haber sido verificados 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í :)
Para mí nada funcionó, pero esto
agrega esta línea a tu gitignore
*.xcuserdata
Esto funciona para mi
Abra la carpeta que contiene el archivo project.xcworkspace
del proyecto desde la terminal.
Escribe este comando: git rm --cached *xcuserstate
Esto eliminará el archivo.
Para xcode 8.3.3 acabo de comprobar que probé el código anterior y observo que, ahora en este caso, tenemos que cambiar los comandos para que me gusten
primero puede crear un archivo .gitignore utilizando
touch .gitignore
después de eso, puede eliminar todo el archivo userInterface usando este comando y al usar 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"