No se puede presionar, tirar o fusionar git. "Copia de trabajo tiene cambios no comprometidos"

Recientemente he creado un repository git en bitbucket, y he agregado un proyecto antiguo. Me he comprometido y presionado un cambio como testing, pero ahora me enfrento a este problema.

Cada vez que bash Pull, Push o Merge obtengo este post de error:

La copia de trabajo "" tiene cambios no confirmados.

"La copy de trabajo 'Project_Name' tiene cambios no comprometidos".

Y he cometido este cambio varias veces:

El archivo parece ser nombrado: Estado de la interfaz de usuario


EDIT : Hice 'git status' y obtuve lo siguiente:

# On branch master # Your branch is ahead of 'origin/master' by 2 commits. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # modified: Crunch.xcodeproj/project.xcworkspace/xcuserdata/Neil.xcuserdatad/UserInterfaceState.xcuserstate # no changes added to commit (use "git add" and/or "git commit -a") 

La ayuda sería muy apreciada, SirKaydian

Paso 1:

 git rm --cached ProjectName.xcodeproj/project.xcworkspace/xcuserdata/username.xcuserdatad/UserInterfaceState.xcuserstate 

Paso 2:

 git commit -m "Removed file that shouldn't be tracked" 

Bien, resulta que solo tuve que hacer un comentario

 //THIS IS A TEST 

Y comprométeme eso. Ahora funciona bien. Esto debe haber sido un extraño error.

Gracias por la ayuda, SirKaydian

No estoy familiarizado con el file .xcuserstate , pero suena como un file específico para el usuario. En general, los files específicos del usuario no tienen negocios en el control de origen. Cambian con frecuencia, generalmente son binarys y, por lo tanto, difíciles de diferenciar, y no son útiles para otros usuarios. Intente cerrar su IDE luego ejecutar los commands o intente agregar este nombre de file a su file .gitignore .

Solucioné este problema:

 git push <remote> localbranch --force. 

No use la bandera –force a less que esté absolutamente seguro de que sabe lo que está haciendo.

 git rm --cached *.xcuserstate *.xcuserdata 

Ejecute el command anterior. Luego comete, luego presiona.

Vea aquí: Xcode dice "Cambios no comprometidos" Cada vez que bash activar o desactivar git

Es posible que tenga que ejecutarlos por separado:

 git rm --cached *.xcuserstate git rm --cached *.xcuserdata