Inicio·Comandos de terminal
Publicidad

Consigue tu bono en un exchange de criptomonedas

Bonos que recibes solo por registrarte. Las condiciones son las que publica cada exchange.

git gc

git

Uso

git gc [--aggressive] [--prune=<date>]

Empaqueta objetos sueltos y descarta los inalcanzables para reducir .git; --prune=now también tira los commits que sostenía el reflog, y con eso desaparece la red de seguridad para deshacer un reset.

Opciones habituales

OpciónSignificado
--aggressiverepack harder; slow, occasionally worth it
--prune=<date>drop unreachable objects older than that
--prune=nowdrop them all, which also throws away reflog-only commits
--autodo nothing unless there is enough loose junk
--no-prunerepack but keep unreachable objects
-qno progress output

Ejemplos

git gc

packs loose objects and shrinks .git

git gc --auto

the cheap check git itself runs after some commands

git gc --prune=now --aggressive

smallest result, and no way back to lost commits

Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q¿Qué hace git gc?

Empaqueta objetos sueltos y descarta los inalcanzables para reducir .git; --prune=now también tira los commits que sostenía el reflog, y con eso desaparece la red de seguridad para deshacer un reset.

Q¿Cómo se escribe?

git gc [--aggressive] [--prune=<date>] — los corchetes marcan lo que puedes omitir.

Q¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man git. Este comando está en git.

Comandos relacionados

página man: man git-gc