es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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?

Tags:  ,

Answer

  1. Avatar for 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:

    1. Primero, asegúrate de agregar el archivo a tu archivo .gitignore para que no sea rastreado en el futuro.
    2. A continuación, deberás usar el comando filter-branch de Git para eliminar el archivo de tus confirmaciones anteriores.

      git filter-branch --index-filter 'git rm --cached --ignore-unmatch data/v-2021/AIRS.2006.12.31.L3.RetStd001.v6.0.9.0.G13155192744.hdf' HEAD
      

      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.

    3. Una vez que la filtración esté completa, haz push forzado de los cambios a GitHub:

      git push --force origin
      

      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.

Comments are closed.