1. Descripción del error
Porque accidentalmente puse un archivo aab empaquetado en el archivo de confirmación en una confirmación, así que empuje rechazado al cargar.
Debido a que el límite de archivos de GitHub es de 100M, pero el paquete es demasiado grande, 170M, por lo que no se puede cargar, pero ya está en el historial de confirmación y lo ha sido varias veces, por lo que quiero eliminarlo del historial.
2. Solución:
Eliminar app/release/app-release.aab en el registro de confirmación
1. Para eliminar la confirmación contenida en el historial de Git app/release/app-release.aab
, puede usar el filter-branch
comando Git para reescribir el historial. Tenga en cuenta que este tipo de operación modifica el historial, así que asegúrese de comprender los riesgos potenciales y haga una copia de seguridad de los datos importantes antes de realizar esta operación.
2. Primero, asegúrese de estar en el directorio del repositorio de Git correcto. Abra una línea de comando o terminal y navegue a este directorio.
3. Ejecute el siguiente comando, usando filter-branch
para reescribir el historial:
git filter-branch --force --index-filter "git rm --cached --ignore-unmatch app/release/app-release.aab" --prune-empty --tag-name-filter cat -- --all
(Tenga en cuenta el nombre del archivo de arriba)
4. Este comando recorre todo el historial de Git y elimina app/release/app-release.aab
las confirmaciones que contienen . --index-filter
El parámetro usa git rm --cached --ignore-unmatch
el comando para eliminar el archivo de cada confirmación.
Git vuelve a escribir el historial después de que el comando haya terminado de ejecutarse. Tenga en cuenta que esto puede llevar algún tiempo, dependiendo del tamaño del historial de su proyecto.
Si se informa un error:
Esto se debe a que todavía tiene cambios localmente, puede continuar poniéndolos en la confirmación, si hay otros errores informados, simplemente modifíquelos de acuerdo con las indicaciones.
5. Una vez hecho esto, puede ejecutar el siguiente comando para borrar los datos basura de Git:
git for-each-ref --format="delete %(refname)" refs/original | git update-ref --stdin
Solo ejecuta este comando
6. Subir código
git push --force origin
Si se informa un error, siga las indicaciones para solucionarlo.