Referência

Git Glossário

Guia de A a Z da terminologia do Git. 60 termos essenciais explicados em linguagem simples.

A

Ancestral

Um commit que vem antes de outro no histórico. Os commits pais e os pais deles são todos ancestrais.

Tag anotada

Uma tag que guarda metadados extras, como nome e e-mail de quem criou a tag, data e mensagem. Recomendada para versões.

B

Repositório bare

Um repositório sem diretório de trabalho. Contém só o conteúdo da pasta .git. Usado como repositório central para compartilhar.

Blob

Um objeto do Git que guarda o conteúdo de um arquivo. Abreviação de “binary large object”.

Ramificar

Um ponteiro móvel para um commit. Representa uma linha de desenvolvimento independente em um repositório.

C

Cherry-pick

Copiar as mudanças de um commit existente para a sua branch atual como um commit novo (com um hash novo).

Clone

Uma cópia completa de um repositório remoto — cada commit, mais branches de rastreamento remoto como origin/main — criada com git clone.

Commit

Um instantâneo do seu repositório em um momento específico. Contém uma árvore, o(s) commit(s) pai, o autor e uma mensagem.

Hash do commit

Uma soma de verificação SHA-1 de 40 caracteres que identifica um commit de forma única. Na maioria dos casos pode ser abreviada para 7 caracteres.

Conflito

Acontece quando o Git não consegue mesclar mudanças automaticamente porque as mesmas linhas foram alteradas de formas diferentes nas duas branches.

D

HEAD desanexado

Um estado em que o HEAD aponta direto para um commit em vez de uma branch. Mudanças feitas aqui podem se perder se não forem salvas em uma branch.

Diff

A diferença entre duas versões de um arquivo ou conjunto de arquivos. Mostra adições, remoções e alterações.

E

Repositório embutido

Uma pasta com o seu próprio .git dentro de outro repositório. O Git a registra só como um ponteiro para um commit (um gitlink); use submódulos em vez disso.

F

Fast-forward

Um merge em que o ponteiro da branch simplesmente avança porque não há commits divergentes. Nenhum commit de merge é criado.

Fetch

Baixar commits e referências novos de um remoto sem mexer nas suas branches nem na sua árvore de trabalho.

Fixup

Uma ação do rebase interativo que funde um commit ao anterior e descarta a mensagem dele.

Force with Lease

git push --force-with-lease: sobrescrever a branch remota só se ela ainda apontar para onde você a viu por último, para nunca perder o trabalho de um colega.

Fork

Uma cópia pessoal de outro repositório em um serviço de hospedagem. Muito usada em código aberto para propor mudanças por meio de pull requests.

G

Commit enxertado

Em um clone raso, o commit mais antigo baixado: os pais dele existem no servidor, mas nunca foram baixados.

H

HEAD

Um ponteiro para a referência de branch ou o commit atual. Representa a sua posição atual no histórico do repositório.

Hook

Um script que roda automaticamente quando certos eventos do Git acontecem, como pre-commit, post-commit ou pre-push.

Hotfix

Uma correção urgente para código já publicado, normalmente feita na branch de release, com tag, e depois levada de volta ao main.

Hunk

Um bloco de linhas alteradas em um diff, com algumas linhas de contexto inalteradas ao redor. O git add -p prepara hunk por hunk.

I

Índice

Também chamado de área de preparação. Uma área intermediária onde as mudanças são preparadas antes do commit no repositório.

Rebase interativo

git rebase -i: reescrever uma série de commits editando uma lista de tarefas (pick, reword, squash, fixup, drop).

L

Tag leve

Um simples ponteiro para um commit, sem metadados extras. Só um nome para um commit específico.

M

Main/Master

A branch principal padrão de um repositório. “main” é a convenção moderna; “master”, o nome antigo.

Commit de merge

Um commit com dois ou mais pais que junta em um só as mudanças de branches diferentes.

Conflito de merge

Quando o Git não consegue resolver automaticamente as diferenças entre duas branches. Exige resolução manual.

O

Objeto

A unidade básica de armazenamento do Git. Existem quatro tipos: blob (arquivo), tree (diretório), commit e tag.

ORIG_HEAD

Uma referência que o Git define antes de operações arriscadas (reset, merge, rebase) apontando para onde o HEAD estava — git reset --hard ORIG_HEAD as desfaz.

Origin

O nome padrão do repositório remoto de onde você clonou. Aponta para a fonte original.

P

Commit pai

O commit que vem imediatamente antes de outro. Commits de merge têm vários pais.

Pathspec

Um padrão usado para limitar caminhos em comandos do Git. Pode incluir curingas e indicações de diretórios.

Prune

Remover branches de rastreamento remoto cuja branch não existe mais no remoto (git fetch --prune).

Pull

git fetch seguido de mesclar (ou fazer rebase) o upstream baixado na sua branch atual.

Pull request

Um pedido em uma plataforma de hospedagem (GitHub, GitLab…) para revisar uma branch e mesclá-la em outra. Não é um comando do Git.

Push

Enviar seus commits para um remoto e mover a branch dele para ficar igual à sua.

R

Rebase

Reaplicar commits por cima de outro commit base, gerando commits novos e um histórico linear.

Ref

Abreviação de “reference”. Um ponteiro para um commit, como um nome de branch, uma tag ou o HEAD.

Reflog

Um registro de todas as atualizações de referências no seu repositório local. Anota cada mudança nas pontas das branches e no HEAD.

Branch de release

Uma branch que guarda uma versão entregue, para que correções possam ser feitas nela enquanto o main segue em frente.

Remoto

Uma versão do seu repositório hospedada em outro lugar (como GitHub ou GitLab). Usada para colaboração e backup.

Branch de rastreamento remoto

Um marcador local somente leitura de uma branch remota, como origin/main, atualizado por fetch, pull e push.

Repositório

Um diretório com os arquivos do seu projeto e todo o histórico do Git guardado em uma pasta .git.

Revert

Um commit novo que desfaz as mudanças de um anterior, sem reescrever o histórico — seguro em branches compartilhadas.

S

SHA-1

A função hash criptográfica que o Git usa para gerar identificadores únicos de commits e objetos.

Clone raso

Um clone só com os commits mais recentes (git clone --depth N), comum em CI; aprofunde com fetch --depth ou --unshallow.

Commit assinado

Um commit com uma assinatura GPG (ou SSH) que os serviços de hospedagem podem mostrar como “Verified”. Criado com git commit -S.

Squash

Juntar vários commits em um só, por ex. com um rebase interativo ou git merge --squash.

Área de preparação

A área intermediária entre o seu diretório de trabalho e o repositório, onde você prepara os commits. Também chamada de índice.

Stash

Uma prateleira temporária para mudanças sem commit (git stash), para trocar de tarefa com a árvore de trabalho limpa.

Submódulo

Um repositório embutido dentro de outro. Útil para incluir dependências externas em uma versão específica.

T

Tag

Uma referência com nome que aponta para um commit específico. Normalmente usada para marcar versões publicadas, como v1.0.0.

Branch de rastreamento

Uma branch local com relação direta com uma branch remota. Permite push/pull sem informar o remoto.

Tree (árvore)

Um objeto do Git que representa um diretório. Contém referências para blobs (arquivos) e outras trees (subdiretórios).

U

Arquivo não rastreado

Um arquivo do diretório de trabalho que o Git não monitora. Não entra nos commits até ser adicionado explicitamente.

Upstream

A branch remota que uma branch local rastreia. A fonte de onde as mudanças são puxadas.

W

Diretório de trabalho

O diretório no seu sistema de arquivos onde você edita os arquivos. Contém a versão atual do seu projeto.

Árvore de trabalho

Outro nome para o diretório de trabalho. Os arquivos que você vê e edita na pasta do projeto.