Configuração e definições ⤢ git configDefine a identidade e as preferências do Git. git config --global user.name "Ada" ⤢ git config --global aliasCria um atalho pessoal para um comando longo. git config --global alias.co checkout ⤢ git initCria um repositório Git novo na pasta atual. git init ⤢ git cloneCopia um repositório remoto completo para a sua máquina. git clone git@github.com:org/repo.git ⤢ git clone --depthCopia um repositório remoto completo para a sua máquina. git clone --depth 1 --single-branch git@github.com:org/repo.git Bases de snapshot ⤢ git statusMostra o estado da árvore de trabalho e do índice. git status -sb ⤢ git addColoca ficheiros no índice para o próximo commit. git add src/app.ts ⤢ git add -pEncena os ficheiros por pedaços, decidindo bloco a bloco. git add -p src/app.ts ⤢ git add -uEncena todas as alterações de ficheiros já seguidos. git add -u ⤢ git commitGrava o índice como um commit novo. git commit -m "fix: null check" ⤢ git commit --amendReescreve o último commit com o índice atual. git commit --amend -m "fix: handle empty input" ⤢ git diffMostra alterações não encenadas. git diff --staged ⤢ git diff HEADMostra tudo o que mudou desde o último commit. git diff HEAD Ramos e fusão ⤢ git branchLista ramos locais. git branch feature-x ⤢ git branch -dLista ramos locais. git branch -d feature-x ⤢ git switchMuda para outro ramo. git switch feature-x ⤢ git switch -cCria um ramo novo e muda para ele. git switch -c feature-x ⤢ git checkoutMuda de ramo ou restaura ficheiros (forma antiga do switch/restore). git checkout feature-x ⤢ git mergeUne outro ramo no ramo atual. git merge feature-x ⤢ git merge --abortCancela uma fusão em conflito e volta ao estado anterior. git merge --abort ⤢ git rebaseReaplica os seus commits por cima de outro ramo. git rebase main ⤢ git rebase -iReordena, junta ou edita commits durante o rebase. git rebase -i main ⤢ git cherry-pickCopia um commit isolado de outro ramo para o atual. git cherry-pick a1b2c3d ⤢ git tagMarca um commit com um nome imutável. git tag -a v1.2.0 ⤢ git worktreeGerencia várias árvores de trabalho ligadas ao mesmo repositório. git worktree add ../repo-feature feature-x Inspecionar o histórico ⤢ git logMostra o histórico de commits. git log --oneline --graph --decorate ⤢ git log --allMostra o histórico de commits. git log --oneline --graph --all ⤢ git showMostra um commit: mensagem, autor e diferença. git show HEAD ⤢ git blameDiz quem alterou cada linha e em que commit. git blame src/app.ts ⤢ git reflogMostra todos os sítios onde o HEAD esteve, incluindo perdidos. git reflog ⤢ git bisectProcura binariamente o commit que introduziu um defeito. git bisect start ⤢ git shortlogSumariza commits por autor. git shortlog -sn ⤢ git describeNomea o commit atual relativo à etiqueta mais próxima. git describe --tags Colaboração remota ⤢ git remoteGerencia os remotos do repositório. git remote add origin <url> ⤢ git remote -vLista os remotos com os URLs. git remote -v ⤢ git fetchTrás objetos do remoto sem tocar na árvore de trabalho. git fetch origin ⤢ git fetch --pruneTrás do remoto e apaga referências a ramos já removidos. git fetch --prune ⤢ git pullFaz fetch e integra o ramo remoto no atual. git pull --rebase ⤢ git pushEnvia commits para o remoto. git push -u origin feature-x ⤢ git push --force-with-leaseForça o envio só se ninguém enviou primeiro. git push --force-with-lease origin feature-x Desfazer alterações ⤢ git restoreDescarta alterações de ficheiros da árvore de trabalho. git restore src/app.ts ⤢ git restore --stagedDescarta alterações de ficheiros da árvore de trabalho. git restore --staged src/app.ts ⤢ git resetMove o ramo atual para outro commit, ajustando o índice. git reset --hard HEAD~1 ⤢ git revertCria um commit que desfaz outro commit. git revert HEAD ⤢ git cleanApaga ficheiros não seguidos. git clean -fd Stash ⤢ git stashGuarda alterações em curso e limpa a árvore de trabalho. git stash -u ⤢ git stash listLista os stashes guardados. git stash list ⤢ git stash applyReaplica um stash sem o apagar da lista. git stash apply stash@{1} ⤢ git stash dropGuarda alterações em curso e limpa a árvore de trabalho. git stash drop stash@{1} ⤢ git stash popReaplica o stash mais recente e remove-o da lista. git stash pop Ficheiros e submódulos ⤢ git mvMove ou renomeia um ficheiro mantendo o histórico. git mv old.ts src/new.ts ⤢ git rmRemove ficheiros do repositório e da árvore de trabalho. git rm src/old.ts ⤢ git submoduleGerencia submódulos: repositórios dentro do repositório. git submodule add git@github.com:org/lib.git lib ⤢ git sparse-checkoutLimita a árvore de trabalho a um subconjunto de pastas. git sparse-checkout set src docs ⤢ git archiveExporta uma árvore de ficheiros como arquivo tar ou zip. git archive -o repo.zip HEAD