Eliminar file de confirmación corregida

Empujé un compromiso a un repository donde accidentalmente agregué un file. Nadie más se ha fusionado del repository remoto para que pueda reescribir la historia. Pero cuando elimino el file (unstage, no lo eliminé del control de fuente, o disco) de la confirmación local, no puedo enviar cambios. git push muestra todo actualizado

Aqui tienes:

git checkout HEAD~ -- path/to/your/file git add path/to/your/file git commit --amend -C HEAD 

 git diff -p HEAD~ -- path/to/your/file | git apply -R git commit --amend -C HEAD 

 git reset HEAD~ -- path/to/your/file git commit --amend -C HEAD 

Si necesita volver a escribir la confirmación completa, intente utilizar

 git reset HEAD^ git add <files to be part of the commit> # or git add -pu git commit -C <previous commit number> 

Antes de hacer esto, necesitará mantener el último número de confirmación para volver a utilizar el post / date / autor de confirmación.

Tratar:

 git rm --cached <yourfile> git commit --amend git push -f 

Mientras hacía algo similar a lo que sugirieron Colin y ydroneaud,

La respuesta fue usar

 git push +sa1:sa1 

donde sa1 es mi twig. Esto obliga a empujar incluso "nada".