
git (não git-core), o ramo padrão costuma ser main e a chave SSH moderna é Ed25519. A história — BitKeeper, os dez dias de 2005, Junio Hamano, Git 2.55 — está em A história do Git.Cheatsheet curto: instalar, configurar, clonar, commitar, enviar. Sem teoria de objeto. Se você nunca usou Git, estes são os comandos que resolvem 90% dos casos.
Instalar
Debian/Ubuntu e derivados:
sudo apt update
sudo apt install git
git --version
Em 2026 o pacote é git. O nome antigo git-core era um metapacote; não procure por ele.
Nome, e-mail e ramo padrão
git config --global user.name "Seu Nome"
git config --global user.email seu@email.com
git config --global init.defaultBranch main
git config --global pull.rebase false
user.name e user.email entram em todo commit. Sem isso o Git reclama. O ramo padrão da indústria deixou de ser master por volta de 2020; main é o que GitHub, GitLab e o próprio Git usam em repositório novo.
Chave SSH
Ed25519, não RSA 4096 — menor e o default atual. Detalhe do fluxo sem senha: SSH sem senha.
ssh-keygen -t ed25519 -C "seu@email.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
Cole a chave pública em GitHub/GitLab → Settings → SSH keys. Teste:
ssh -T git@github.com
Repositório novo ou clone
mkdir projeto && cd projeto
git init
# ou, o caso comum:
git clone git@github.com:usuario/projeto.git
cd projeto
Add, commit, status
git status
git add arquivo.txt # ou: git add -A
git commit -m "mensagem curta no imperativo"
git log --oneline -5
O commit fica no repositório local. Ainda não está no GitHub.
Branch: switch, não só checkout
git switch -c feature/login # cria e entra
git switch main # volta
git merge feature/login
git branch -d feature/login
git switch e git restore (desfazer arquivo) existem desde o Git 2.23 (2019) e separam o que o checkout fazia demais. checkout ainda funciona; para código novo, use os dois novos.
git restore arquivo.txt # descarta mudança no working tree
git restore --staged arquivo.txt # tira do index, mantém o arquivo
Remote e push
git remote add origin git@github.com:usuario/projeto.git
git push -u origin main
Nas próximas vezes: git push e git pull. O -u grava o upstream. Se o remoto ainda usa master, troque o nome do ramo — não invente main num remoto que não tem.
git branch -M main # só se você está migrando um repo antigo
O fluxo de um dia
git pull
git switch -c fix/typo
# edita
git add -A
git commit -m "Corrige typo no README"
git push -u origin fix/typo
# abre o pull request no GitHub/GitLab
git switch main
Vídeo: Descomplicando o Git (LinuxTips)
O LinuxTips do Jeferson Fernando gravou o “Descomplicando o GIT” — ainda o melhor passeio em português pelo fluxo. A história (BitKeeper, os dez dias, o Git 2.55) ficou no post novo.
Mais
- A história do Git — BitKeeper, Linus, Junio, 2.55
- A história de Linus Torvalds
- Pro Git (livro oficial, v2 em português)
- Two decades of Git — entrevista com Linus (2025)