Alterar o Último Commit

git add arquivo-esquecido
git commit --amend --no-edit            # Mantém a mensagem do commit anterior
 
git commit --amend -m "Nova mensagem"   # Altera a mensagem do commit

--amend após push

--amend substitui a ponta da branch atual criando um novo commit, se o commit já foi enviado ao remoto, é necessário git push --force.

Branches

git switch -c <branch>   # Cria e muda para uma nova branch
git switch -             # Volta para a ultima branch
 
git branch -d <nome>        # Deleta uma branch (recusa se não foi mergeada)
git branch -D <nome>        # Deleta forçado
git branch -m <old> <new>   # Renomeia uma branch
 
# Troca a branch realizando um merge (working tree, local e <branch>).
git switch -m <branch>
 
# Aponta a HEAD para um commit específico, sem estar em nenhuma branch.
git switch --detach <commit>

Sincronização

git push -u <remote> <branch>   # Envia para a branch correspondente do repositório remoto e define ele como upstream
git remote -v                   # Lista repositórios remotos

Stash

Por padrão não inclui arquivos não rastreados, usar -u para incluir.

git stash                     # Salva alterações locais não commitadas e limpa o working tree
git stash list                # Lista todos os stashes
git stash show                # Mostra o conteúdo do stash mais recente
git stash apply [stash@{n}]   # Aplica um stash sem removê-lo
git stash pop [stash@{n}]     # Aplica e remove o stash da lista
git stash drop [stash@{n}]    # Remove um stash da lista
git stash clear               # Remove todos os stashes

Deletar Commit do Histórico

git reset --hard HEAD~1   # Volta 1 commit atrás
git reset --hard <id>     # Volta para um commit específico
git push --force          # Envia o novo HEAD