Git/GitHub Cheat Sheet
Sumário
- 1.-Configurações-Iniciais
- 2.-Inicialização-de-Repositório
- 3.-Operações-Básicas
- 4.-Trabalhando-com-Branches
- 5.-Sincronizando-com-Repositório-Remoto
- 6.-Resolver-Conflitos-de-Merge
- 7.-Revertendo-e-Corrigindo
- 8.-Trabalhando-com-Tags
- 9.-Outros-Comandos-Úteis
- 10.-Erros-Comuns-e-Soluções
1. Configurações Iniciais
1.1 Configurar Nome de Usuário
git config --global user.name "Seu Nome"
Configura seu nome de usuário.
1.2 Configurar Email de Usuário
git config --global user.email "[email protected]"
Configura seu email para os commits.
1.3 Verificar Configurações
git config --list
Exibe todas as configurações de usuário.
2. Inicialização de Repositório
2.1 Criar um Novo Repositório Local
git init
Inicializa um novo repositório Git no diretório atual.
2.2 Clonar Repositório Remoto
git clone https://github.com/usuario/repo.git
Clona um repositório remoto para o diretório local.
3. Operações Básicas
3.1 Verificar Status
git status
Mostra o estado atual do repositório (arquivos modificados, não rastreados, etc).
3.2 Adicionar Arquivos ao Stage
git add <arquivo>
Adiciona o arquivo ao stage (área de preparação para commit).
Exemplo:
git add index.html
3.3 Adicionar Todos os Arquivos ao Stage
git add .
Adiciona todos os arquivos modificados e novos ao stage.
3.4 Fazer Commit
git commit -m "Mensagem do commit"
Realiza o commit com uma mensagem descritiva.
3.5 Ver Log de Commits
git log
Mostra o histórico dos commits.
Exemplo com uma saída típica:
commit 9c9d10f8b28d4d3b3f73c91c4870c9f1f7b95ec1
Author: Seu Nome <[email protected]>
Date: Tue Sep 21 12:34:56 2023 -0300
Adicionado arquivo de README
4. Trabalhando com Branches
4.1 Criar uma Nova Branch
git branch <nome-da-branch>
Cria uma nova branch.
4.2 Trocar para Outra Branch
git checkout <nome-da-branch>
Troca para a branch especificada.
4.3 Criar e Mudar para Nova Branch (Atalho)
git checkout -b <nome-da-branch>
Cria e já muda para a nova branch.
4.4 Listar Todas as Branches
git branch
Lista todas as branches do repositório.
4.5 Excluir uma Branch
git branch -d <nome-da-branch>
Exclui uma branch local (use -D
para forçar a exclusão).
5. Sincronizando com Repositório Remoto
5.1 Adicionar um Repositório Remoto
git remote add origin https://github.com/usuario/repo.git
Associa o repositório remoto ao local.
5.2 Verificar Repositórios Remotos
git remote -v
Mostra as URLs dos repositórios remotos configurados.
5.3 Enviar Alterações para o Repositório Remoto
git push origin <nome-da-branch>
Envia as alterações da branch local para o repositório remoto.
Exemplo:
git push origin main
5.4 Baixar Alterações do Repositório Remoto
git pull
Baixa e mescla alterações do repositório remoto.
Erro comum:
error: Your local changes to the following files would be overwritten by merge:
Solução: git stash
para salvar temporariamente suas mudanças locais, depois git pull
.
6. Resolver Conflitos de Merge
6.1 Verificar Conflitos
Após um git pull
ou git merge
, pode haver conflitos de merge. O Git marca os conflitos assim:
<<<<<<< HEAD
Seu código
=======
Código da outra branch
>>>>>>> branch/remota
6.2 Resolver Conflito Manualmente
Edite os arquivos para resolver os conflitos, depois adicione novamente ao stage:
git add <arquivo>
6.3 Finalizar o Merge
Depois de resolver os conflitos, finalize o merge com:
git commit
7. Revertendo e Corrigindo
7.1 Desfazer Alterações Locais (Antes de adicionar ao stage)
git checkout -- <arquivo>
Desfaz as mudanças no arquivo.
7.2 Retirar Arquivo do Stage
git reset <arquivo>
Remove o arquivo do stage, mas mantém as mudanças.
7.3 Desfazer Último Commit (Mantendo Alterações Locais)
git reset --soft HEAD~1
Desfaz o commit mais recente, mas mantém as alterações.
7.4 Descartar Último Commit (Perdendo Alterações)
git reset --hard HEAD~1
Desfaz o commit e perde todas as mudanças.
8. Trabalhando com Tags
8.1 Criar uma Tag
git tag -a v1.0 -m "Versão 1.0"
Cria uma tag anotada com mensagem.
8.2 Verificar Tags
git tag
Lista todas as tags do repositório.
8.3 Enviar Tags para o Repositório Remoto
git push origin --tags
Envia todas as tags para o repositório remoto.
9. Outros Comandos Úteis
9.1 Exibir Diferenças Entre Arquivos
git diff
Mostra as diferenças entre arquivos modificados, mas não ainda no stage.
9.2 Exibir Diferenças Entre Commits
git diff <commit1> <commit2>
Compara as diferenças entre dois commits.
9.3 Guardar Alterações Temporárias (Stash)
git stash
Salva temporariamente suas alterações locais.
9.4 Recuperar Alterações do Stash
git stash pop
Aplica as alterações salvas e remove do stash.
9.5 Verificar Stashes Salvos
git stash list
Lista todas as alterações salvas no stash.
10. Erros Comuns e Soluções
10.1 “Detached HEAD” ao Fazer Checkout
Erro:
You are in 'detached HEAD' state.
Solução:
git checkout <nome-da-branch>
Ou crie uma branch e depois faça checkout:
git checkout -b <nova-branch>
10.2 Rejeição de Push por Divergência
Erro:
! [rejected] main -> main (non-fast-forward)
Solução:
git pull --rebase
Traz as alterações do repositório remoto e aplica suas mudanças em cima delas.