Git simple y rápido

Mascote do LinuxPro diante de um quadro com o diagrama de branch e merge do Git, ao lado do losango do projeto

Nota (2026): el flujo de abajo sigue siendo el del día a día. El paquete ahora es git (no git-core), la rama por defecto suele ser main y la clave SSH moderna es Ed25519. La historia — BitKeeper, los diez días de 2005, Junio Hamano, Git 2.55 — está en La historia de Git.

Chuleta corta: instalar, configurar, clonar, hacer commit, enviar. Sin teoría de objetos. Si nunca has usado Git, estos son los comandos que resuelven el 90% de los casos.

Instalar

Debian/Ubuntu y derivados:

sudo apt update
sudo apt install git
git --version

En 2026 el paquete es git. El nombre antiguo git-core era un metapaquete; no lo busques.

Nombre, correo y rama por defecto

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 entran en cada commit. Sin esto Git se queja. El nombre de rama por defecto en la industria dejó de ser master alrededor de 2020; main es lo que GitHub, GitLab y el propio Git usan en un repositorio nuevo.

Clave SSH

Ed25519, no RSA 4096 — más pequeño y el predeterminado actual. Detalle del flujo sin contraseña: SSH sin contraseña.

ssh-keygen -t ed25519 -C "seu@email.com"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub

Pega la clave pública en GitHub/GitLab → Settings → SSH keys. Prueba:

ssh -T git@github.com

Repositorio nuevo o clonar

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

El commit queda en el repositorio local. Todavía no está en GitHub.

Branch: switch, no solo 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 (deshacer archivo) existen desde Git 2.23 (2019) y separan lo que el checkout hacía demasiado. checkout sigue funcionando; para código nuevo, usa los dos nuevos.

git restore arquivo.txt           # descarta mudança no working tree
git restore --staged arquivo.txt  # tira do index, mantém o arquivo

Remoto y push

git remote add origin git@github.com:usuario/projeto.git
git push -u origin main

Las próximas veces: git push e git pull. El -u graba el upstream. Si el remoto aún usa master, cambia el nombre de la rama — no inventes main en un remoto que no lo tiene.

git branch -M main    # só se você está migrando um repo antigo

El flujo de un día

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)

El LinuxTips de Jeferson Fernando grabó “Descomplicando o GIT”, todavía el mejor recorrido en portugués por el flujo. La historia (BitKeeper, los diez días, el Git 2.55) quedó en el nuevo post.

Más