Guia de Comandos Git para Versionamento de Código

Neste guia, exploramos comandos essenciais do Git para gerenciar repositórios e fluxos de trabalho de desenvolivmento. Os exemplos utilizam nomes genéricos como nome-da-branch para ilustrar a aplicação.

Clonando um Repositório

git clone https://exemplo.com/repositorio.git

Criando e Enviando uma Nova Branch

git branch feature-x
git push origin feature-x

Listando e Alternando Branches

git branch -a
git fetch
git checkout -t origin/develop
git branch
git checkout feature-x

Renomeando uma Branch

git branch -m nome-antigo nome-novo
git push -d origin nome-antigo
git push origin nome-novo
git branch --set-upstream-to origin/nome-novo

Desvinculando uma Branch Local do Remoto

# Certifique-se de estar na branch local a ser desvinculada
git branch --unset-upstream

Vinculadno uma Branch Local ao Remoto

git branch --set-upstream-to=origin/branch-remota branch-local

Realizando um Merge entre Branches

# Exemplo: mesclando develop em master
git checkout develop
git pull
git checkout master
git pull
git merge develop
git push origin master

Abortando um Merge em Andamento

git merge --abort

Reaplicando Commits com Rebase

# Transferir commits de uma branch para outra
git rebase branch-destino branch-origem
# Ou alternativamente:
git switch branch-origem
git rebase branch-destino

Removendo Branches

git branch -d nome-da-branch  # Remove localmente
git push -d origin nome-da-branch  # Remove remotamente

Preparando e Enviando Alterações

git pull
git add .
git commit -m "Descrição das mudanças"
git push

Stash: Ocultando Alterações Temporariamente

git stash

Recuperando Alterações do Stash

# Aplicar sem remover do stash
git stash apply
git stash drop  # Para remover manualmente

# Ou aplicar e remover automaticamente
git stash pop

Revertendo para uma Versão Anterior

# Para a versão imediatamente anterior
git reset --soft HEAD^  # Mantém as alterações staged
# Ou com --hard para descartar todas as alterações
git reset --hard HEAD^

# Enviar a reversão ao repositório remoto (cuidado com --force)
git push -f

Revertendo para um Commit Específico

# Visualizar o histórico para obter o hash do commit
git log -n 5

# Reverter mantendo alterações staged
git reset --soft <hash-do-commit>
# Ou reverter completamente
git reset --hard <hash-do-commit>

# Forçar a atualização do remoto
git push -f

Revertendo um Commit Específico com Revert

# Reverter um único commit
git revert -n <hash-do-commit>
git commit -m "Revertendo alteração específica"
git push

Resolvendo Conflitos entre Local e Remoto

git stash
git pull origin branch-atual
git stash pop
# Resolva conflitos, depois:
git add .
git commit -m "Resolução de conflitos"
git push

Desfazendo um Commit (mantendo staged)

git reset --soft HEAD~1

Desfazendo um Commit e o Staging

git reset --hard HEAD^

Cherry-Pick: Selecionando Commits de Outra Branch

git checkout branch-destino
git cherry-pick <hash-do-commit>

Gerenciando Submódulos

git clone --recursive https://exemplo.com/repositorio.git
git submodule add https://exemplo.com/submodulo.git caminho/submodulo
git submodule init
git submodule update
git submodule foreach git checkout develop -f
git submodule foreach git pull

Limpando a Área de Staging

git clean -f

Removendo o Vínculo com o Repositório Remoto

git remote remove origin

Adicionando um Novo Repositório Remoto

git remote add origin https://novo-repositorio.git

Erro durante Merge: Reset Suave Não Permitido

git reset --merge

Tags: Git Versionamento de Código Branches Merge rebase

Publicado em 6-28 19:27