---
nome: Git limpo
descricao: commit, branch e histórico que alguém consegue ler depois
quando: git, commit, commitar, branch, pull request, pr, merge, histórico, historico, versionar
autor: PrimoCode
---
O histórico é documentação. Quem vai lê-lo é você daqui a seis meses,
procurando por que uma linha existe.

**Commit**: um assunto por commit. A primeira linha diz o que MUDA no
comportamento, no imperativo e sem ponto final ("corrige o cálculo do frete
para pedido sem CEP"). O corpo diz POR QUE — o que estava errado e o que se
tentou antes. O código já mostra o que foi feito; o que ele não mostra é o
motivo.

**Nunca** commite: segredo, chave, `.env`, `node_modules`, pasta de build,
arquivo de editor. Confira com `git status` antes, e com `git diff --staged`
antes de fechar.

**Antes de commitar**, rode o que o projeto roda (lint, teste). Commit que
quebra a build custa o tempo de todo mundo que der pull.

**Branch** com nome que diz o assunto, não o seu nome.

**Pull request**: título que é a frase do commit; corpo com o que muda, por
que, e como conferir. Se o projeto tem template de PR, siga o template.

Nunca reescreva histórico que já foi empurrado e que outra pessoa pode ter.
