Git/GitHub Cheat Sheet

SumƔrio

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.