Apreté una confirmación a un repositorio donde accidentalmente agregué un archivo. Nadie más se ha fusionado del repositorio remoto para que pueda reescribir la historia. Pero cuando elimino el archivo (unstage, no lo eliminé del control de fuente, o disco) de la confirmación local, no puedo enviar cambios. git push muestra Todo hasta al díaEliminar archivo de la confirmación modificada
9
A
Respuesta
3
Mientras que hice algo similar a lo que han sugerido Colin y ydroneaud,
La respuesta fue usar
git push +sa1:sa1
donde sa1 es mi sucursal. Esto obliga a empujar incluso "nada".
4
Probar:
git rm --cached <yourfile>
git commit --amend
git push -f
5
Si necesita volver a escribir la confirmación completa, trate de usar
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 se necesita para mantener el último número de confirmación para poder reutilizar el mensaje/fecha/autor de confirmación.
+0
Hice algo similar. El problema fue que no pude enviar esos cambios al repositorio remoto. – sa1
9
Aquí van:
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
Cuestiones relacionadas
- 1. Git: cómo eliminar el archivo de la confirmación histórica?
- 2. ¿Cómo eliminar la confirmación de git-notes?
- 3. Eliminar contraseña de confirmación; idear
- 4. Eliminar una confirmación de github
- 5. Escucha modificada de archivo en Java
- 6. jqGrid Reposicionar Eliminar Cuadro de confirmación
- 7. ¿Puedo eliminar la confirmación inicial de un repositorio de Git?
- 8. desencadenar un evento cuando colección modificada (añadir o eliminar)
- 9. error de confirmación SVN después de eliminar archivos localmente
- 10. ¿Puedo eliminar una confirmación en Subversion?
- 11. Cómo eliminar la última n confirmación en Github y localmente?
- 12. fecha/hora modificada con formato de archivo en mac bash?
- 13. Toque un archivo - actualice su marca de tiempo modificada
- 14. Restaurar archivo de la confirmación anterior en git
- 15. Eliminar ActionLink con el cuadro de diálogo de confirmación
- 16. ¿Cómo eliminar una confirmación de huérfano en git?
- 17. Fecha de acceso del archivo no modificada después de leer el archivo por [NSData dataWithContentsOfURL: ...]
- 18. ¿cómo puedo establecer la última hora modificada de un archivo de python?
- 19. System.Data.Linq.ChangeConflictException: Fila no encontrada o modificada
- 20. SVN: ¿Cómo ignorar un archivo modificado en la confirmación?
- 21. Amend una confirmación de que no era la confirmación anterior
- 22. Cómo obtener PhpMyAdmin para eliminar/truncar sin pedir confirmación
- 23. ¿Cómo obtengo la fecha/hora modificada de un archivo en Python?
- 24. Eliminar la última línea de un archivo
- 25. Backbone.js parse respuesta no modificada
- 26. Git restablecer a la confirmación anterior
- 27. validadores, confirmación de la contraseña
- 28. Archivo por lotes - Eliminar la segunda extensión de archivo
- 29. WPF actualización de fuente de DataGrid en la celda modificada
- 30. Advertencia: modificada en el futuro
No quiero eliminar el archivo del seguimiento, solo de la confirmación. – sa1
@ sa1 no existe el concepto de seguimiento en git, su archivo está o no en su última confirmación, eso es todo. La otra opción es simplemente dejar el archivo allí, pero sin contenido ni parte eliminada. Git es solo un "rastreador de contenido estúpido" hecho por un "chico del sistema de archivos". ;) – KurzedMetal
@KurzedMetal Existe un concepto de archivos rastreados. Lo que hace aquí es eliminar el archivo de los archivos rastreados, lo que quiere hacer es eliminar los cambios realizados en un archivo en una confirmación. –