Início·Comandos de terminal
Publicidade

Garanta seu bônus em uma corretora de cripto

Bônus que você recebe só por se cadastrar. As condições são as que cada corretora anuncia.

git gc

git

Uso

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

Empacota objetos soltos e descarta os inalcançáveis para encolher o .git; --prune=now também joga fora os commits que o reflog segurava, tirando a rede de segurança para desfazer um reset.

Opções comuns

OpçãoSignificado
--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

Exemplos

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

O confuso é que desfazer tem várias formas: mover para onde um branch aponta não é o mesmo que criar um commit que reverte.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

QO que git gc faz?

Empacota objetos soltos e descarta os inalcançáveis para encolher o .git; --prune=now também joga fora os commits que o reflog segurava, tirando a rede de segurança para desfazer um reset.

QComo se digita?

git gc [--aggressive] [--prune=<date>] — os colchetes marcam o que você pode omitir.

QQuantas opções vale a pena saber?

Aqui estão 6; a lista completa está em man git. Este comando fica em git.

Comandos relacionados

página man: man git-gc