No se puede empujar, tirar o fusionar git. "Copia de trabajo tiene cambios sin compromiso"

Recientemente he creado un repository de git en bitbucket, y he agregado un proyecto antiguo en él. Me he comprometido y propuse un cambio como testing, pero ahora afronto 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 confirmados".

Y he cometido este cambio varias veces:

El archivo parece ser nombrado: estado de interfaz de usuario


EDITAR : 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" 

Está bien, resulta que solo tuve que hacer un comentario

 //THIS IS A TEST 

Y cometer eso. Ahora funciona bien. Esto debe haber sido un error extraño.

Gracias por la ayuda, SirKaydian

No estoy familiarizado con el file .xcuserstate , pero parece un file específico del usuario. En general, los files específicos del usuario no tienen nada que ver con el control de la fuente. 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 y luego ejecute los commands o intente agregar este nombre de file a su file .gitignore .

Resolví este problema por:

 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 cometer, luego empujar.

Ver aquí: Xcode dice "Cambios no confirmados" Siempre que trato de moverlo o empujarlo

Es posible que deba ejecutarlos por separado:

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