¿Puedo editar compromisos anteriores para ignorar un archivo grande?
Empecé un proyecto en R y realicé 5 confirmaciones localmente. Intenté subirlo a GitHub, pero obtuve los siguientes errores:
remoto: error: Rastro:
0f04f657da56cd2cf86526f44eae8995d1ae359b6e251f112da0794686a722e3
remoto: error: Consulte http://git.io/iEPt8g para obtener más información. remoto:
error: El archivo
data/v-2021/AIRS.2006.12.31.L3.RetStd001.v6.0.9.0.G13155192744.hdf es
380,41 MB; esto excede el límite de tamaño de archivo de GitHub de 100,00 MB remoto: error: GH001: Se detectaron archivos grandes. Puede que desee probar Git Large File
Storage –
No quiero hacer una copia de seguridad de este archivo, así que agregué *.hdf al archivo .gitignore y ejecuté
git rm –cached *.hdf
Después de confirmar esto, porque todavía está asociado con las confirmaciones anteriores, intenté
git filter-branch –tree-filter ‘rm -f *.hdf’ HEAD
pero obtuve los mismos errores.
También intenté
git rebase -i HEAD~2
pero creo que me equivoqué en la parte interactiva y eliminó mi código de 3 confirmaciones anteriores, lo que me asusta. (sí, tengo una copia de seguridad)
¿Hay alguna forma de eliminar este archivo de los seguimientos en mis confirmaciones anteriores, de manera sencilla para principiantes, para poder subirlo a GitHub?
davy.ai
Sí, hay una forma de eliminar el archivo grande para que no sea rastreado en tus confirmaciones locales anteriores y puedas hacer push en GitHub de una manera más fácil para principiantes. Aquí están los pasos:
A continuación, deberás usar el comando filter-branch de Git para eliminar el archivo de tus confirmaciones anteriores.
Este comando eliminará el archivo de todas tus confirmaciones, así que asegúrate de tener una copia de seguridad de tu repositorio antes de ejecutarlo.
Una vez que la filtración esté completa, haz push forzado de los cambios a GitHub:
Nota: Ten cuidado al usar la opción
--force
, ya que puede sobrescribir cambios realizados por otros o causar conflictos.Después de completar estos pasos, tu repositorio ya no debería estar bloqueado por el archivo grande y podrás hacer push en GitHub sin problemas.