Cómo limpiar el código no válido de Git y Repo en el sistema Linux

  

El almacén del código de referencia del código del sistema Linux se volverá cada vez más grande durante el uso, y se acumularán algunos archivos no válidos. Todo el código de Linux Git y Repo se debe limpiar después de un tiempo. Entonces, ¿cómo limpiar el código no válido de Git y Repo en el sistema Linux?

manualmente limpia

Si su problema repositorio de código es relativamente pequeña, sólo unos pocos documentos no deben ser presentadas, se puede utilizar directamente este método para limpiar

aproximadamente El proceso es el siguiente:

Primera recogida de basura de Git:

git gc --auto

A continuación, verifique la huella del repositorio de Git:

$ du -hs. Git /objects45M .git /objects

Luego busque archivos de cierto tamaño en el historial y finalmente elimínelos y confírmelos en el historial. Si está interesado en procesar manualmente este proceso, puede consultar el enlace que se encuentra detrás del artículo.

Comandos relacionados:

Limpiar archivos en el historial:

git filter-branch --force --index-filter ‘ git rm --cached - -ignore-unmatch **** /nohup.out ’ --prune-empty --tag-name-filter cat - --todos

git filter-branch --index-filter ‘ git rm --cached --ignore-unmatch **** /nohup.out ’ HEAD

git para-each-ref --format = "% (refname) " refs /original /|  Xargs -n 1 git update-ref -d

Forzar anulaciones de confirmación:

git reflog expire --expire = ahora --allgit gc --prune = nowgit push --all --forcegit Push --todos --tags --force

Pero esta solución tiene 2 problemas:

1. La velocidad de procesamiento es lenta, intente limpiar la base del código de tamaño 2G y no se ha ejecutado durante una noche. Terminado

2. Solo se puede limpiar por nombre de archivo. Si diferentes rutas tienen el mismo nombre de archivo, no se pueden procesar, los archivos se pueden eliminar o algunos archivos se pueden ignorar.

Por supuesto, hay una solución muy buena que resuelve perfectamente este problema. De la siguiente manera:

Limpieza automática

La respuesta es bfg-repo-cleaner, que es una herramienta de limpieza de escritura de Java, proceso de limpieza de múltiples subprocesos, el comando es muy simple, solo se necesitan unos minutos para limpiar Tareas que no se pudieron completar la noche anterior:

java -jar bfg-1.11.7.jar --delete-files * .zip myrepo.git

java -jar bfg-1.11. 7.jar --delete-files * .log myrepo.git

java -jar bfg-1.11.7.jar --delete-files * .out myrepo.git

java -jar Bfg-1.11.7.jar --strip-blobs-más grande que 1M myrepo.git

Adjunte algunos consejos de git comunes pero poco comunes:

Copie el repositorio de código :

git clone --bare /var/www/html/myrepo.git

Git lamenta el medicamento, sobrescribiendo el último cambio:

git add .git commit --amendgit Push origin master -f

Git descarta modificaciones locales:

git checkout.

Git destruye la última confirmación:

git reset --hard HEAD ^ git push -f origin HEAD ^: master

Incrusta el número de versión cuando se empaqueta:

git rev-parse HEAD》 versión.txt

Lo anterior es cómo limpiar el código no válido de Git y Repo en el sistema Linux, se debe decir que el método es muy simple, la limpieza regular de Git y Repo es un buen hábito Así que no seas perezoso.

Copyright © Conocimiento de Windows All Rights Reserved