Git é uma ferramenta de controle de versão distribuída que permite rastrear mudanças em arquivos e coordenar o trabalho entre múltiplos colaboradores. Este manual fornece uma visão geral dos principais comandos e insights diários para auxiliar os usuários no dia a dia. Principais Comandos Git:

Configuração Inicial:

git config --global user.name "Seu Nome" #Define o nome do usuário.
git config --global user.email "seuemail@email.com" #Define o email do usuário.

Iniciar um Repositório:

git init #Inicializa um novo repositório Git.
git clone [URL] #Clona (ou baixa) um repositório existente.

Trabalhando com Arquivos:

git add [arquivo] #Adiciona um arquivo ao índice.
git commit -m "Mensagem do commit" #Registra as mudanças feitas no repositório.
git status #Mostra o status dos arquivos no repositório.
git log #Exibe o histórico de commits.

Trabalhando com Branches:

git branch #Lista todas as branches.
git branch [nome_da_branch] #Cria uma nova branch.
git checkout [nome_da_branch] #Muda para uma branch específica.
git merge [nome_da_branch] #Mescla as mudanças de uma branch na branch atual.

Sincronização:

git pull #Baixa as mudanças do repositório remoto e mescla com a branch local.
git push #Envia as mudanças locais para o repositório remoto.

Inspeção e Comparação:

git show #Mostra vários tipos de objetos.
git diff #Mostra as diferenças entre commits, commit e árvore de trabalho, etc.
git difftool #Mostra as diferenças usando ferramentas externas.
git shortlog #Resume o log de entrada.
git describe #Descreve um ref de commit usando o nome de tag mais recente.

Patching:

git apply #Aplica uma série de patches de um arquivo de caixa de correio.
git cherry-pick #Aplica as mudanças de um commit existente.
git rebase #Reaplica commits em cima de outro commit base.
git revert #Reverte algumas mudanças existentes.

Debugging:

git bisect #Usa a busca binária para encontrar o commit que introduziu um bug.
git blame #Mostra qual commit alterou cada linha de um arquivo.

Administração:

git clean #Remove arquivos não rastreados do diretório de trabalho.
git gc #Limpa repositório desnecessário.
git reflog #Gerencia o log de referência.

Comandos Avançados:

git stash #Guarda e restaura mudanças temporárias.
git worktree #Gerencia múltiplas árvores de trabalho.

Insights:

  • Sempre faça commits pequenos e frequentes. Isso torna mais fácil identificar e corrigir problemas.

  • Antes de fazer um push, sempre faça um pull para garantir que você tenha as últimas mudanças.

  • Use mensagens de commit claras e descritivas para ajudar outros colaboradores a entender suas mudanças.

Problemas Comuns e Soluções:

Conflitos de Merge:

  • Problema: Ao tentar mesclar branches, você pode encontrar conflitos.

  • Solução: Abra os arquivos com conflitos, resolva as discrepâncias e faça um novo commit.

Um jeito de fazer isso é voltar a sua branch original atualizar ela com o git pull e depois ir a branch que estava desenvolvendo e digitar git merge "branch origina" assim as duas ficarão sem conflito.

Commit Errado:

  • Problema: Você fez um commit com arquivos errados ou mensagem de commit incorreta.

  • Solução: Use git commit –amend para modificar o último commit ou git reset para desfazer commits.

Arquivos Deletados Acidentalmente:

  • Problema: Você deletou acidentalmente um arquivo.

  • Solução: Use git checkout -- [arquivo] para restaurar um arquivo deletado.

Bônus: Recursos Adicionais:

Visual Git Cheat Sheet: Um guia visual para os comandos Git.

Pro Git Book: O livro Pro Git escrito por Scott Chacon e Ben Straub está disponível para leitura online gratuitamente.

Este manual serve como um guia de consulta rápida para os principais comandos e práticas recomendadas do Git. Recomenda-se também consultar a documentação oficial do Git para obter informações mais detalhadas e atualizadas.

Selo 🧙‍♂️: