ios xcode git gitignore tree-conflict

ios - Eliminar archivos.xcuserstate y DS_Store de git



xcode gitignore (2)

Debe confirmar su cambio después de eliminarlos del área de preparación.

Como ya hiciste, corre:

$ git rm --cached path/to/.DS_Store $ git rm --cached *.xcuserstate

Tenga en cuenta que puede tener algunos en otros directorios, por lo que puede necesitar varias invocaciones para obtenerlos todos. En este punto, sus eliminaciones se realizan en el índice, pero aún hay más por hacer: agregue su .gitignore y .gitignore el resultado final:

$ git add .gitignore $ git commit -m "Remove and ignore .xcuserstate and .DS_Store files."

Ahora se eliminarán del repositorio y se ignorarán en el futuro. Nota: esto eliminará los archivos para otras personas, incluso aunque haya utilizado git rm --cached localmente. Desafortunadamente, no hay mucho que puedas hacer al respecto. Además, los archivos aún están en su historial, por lo que, dependiendo de lo que haga, puede verlos en otras sucursales hasta que las cosas se fusionen y todas sus sucursales se basen en algo que tenga el nuevo compromiso.

En Xcode noté que .DS_Store y * .xcuserstate siempre cambian y no necesitan estar comprometidos. Entonces, escribí un archivo .gitignore que contiene esto:

.DS_Store *.xcuserstate

entre otras entradas. Entonces utilicé:

git rm --cached *xcuserstate git rm ---cached .DS_Store

Para eliminar estos tipos de archivos que ya están bajo el control de versiones. Sin embargo, cuando voy a fusionar Xcode me dice que hay cambios que deben confirmarse. Esos cambios incluyen archivos .DS_Store y archivos .xcuserstate.

Entonces, intenté esto: ¿Cómo puedo eliminar los archivos .DS_Store de un repositorio Git?

find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch find . -name *.xcuserstate -print0 | xargs -0 git rm --ignore-unmatch

Y tengo el mismo resultado. ¿Cómo elimino estos archivos del control de código para siempre?


Pruebe git update-index --assume-unchanged *.xcuserstate .DS_Store y vea si ayuda