Git e GitHub são ferramentas essenciais para qualquer desenvolvedor. Elas permitem controlar versões do código, colaborar com outros desenvolvedores e manter um histórico de todas as mudanças. Vamos aprender o básico!
O que é Git?
Git é um sistema de controle de versão distribuído. Ele permite:
- Salvar versões do seu código
- Voltar para versões anteriores
- Trabalhar em equipe sem conflitos
- Manter histórico de todas as mudanças
O que é GitHub?
GitHub é uma plataforma online que hospeda repositórios Git. É como uma rede social para código:
- Hospeda seus projetos
- Facilita colaboração entre desenvolvedores
- Oferece recursos como Issues e Pull Requests
- Permite hospedar sites gratuitamente
Instalação e Configuração
Instalando Git:
- Acesse git-scm.com
- Baixe a versão para seu sistema operacional
- Instale seguindo as instruções
Configuração Inicial:
git config --global user.name "Seu Nome"
git config --global user.email "seu@email.com"
Comandos Git Essenciais
Inicializando um Repositório:
git init
Cria um novo repositório Git na pasta atual.
Verificando Status:
git status
Mostra quais arquivos foram modificados, adicionados ou removidos.
Adicionando Arquivos:
git add arquivo.txt
git add .
O primeiro comando adiciona um arquivo específico. O segundo adiciona todos os arquivos modificados.
Fazendo Commit:
git commit -m "Mensagem descrevendo as mudanças"
Salva as mudanças com uma mensagem explicativa.
Vendo Histórico:
git log
Mostra o histórico de commits com datas e mensagens.
Fluxo de Trabalho Básico
1. Modificar Arquivos
Faça suas alterações nos arquivos do projeto.
2. Verificar Status
git status
3. Adicionar Mudanças
git add .
4. Fazer Commit
git commit -m "Descrição das mudanças"
5. Enviar para GitHub
git push origin main
Trabalhando com Branches
O que são Branches?
Branches são “ramos” do seu projeto onde você pode trabalhar em funcionalidades separadas sem afetar o código principal.
Criando uma Branch:
git branch nova-funcionalidade
git checkout nova-funcionalidade
Voltando para Main:
git checkout main
Mesclando Branches:
git merge nova-funcionalidade
GitHub: Colaboração Online
Criando um Repositório no GitHub:
- Acesse github.com
- Clique em “New repository”
- Dê um nome ao repositório
- Escolha se será público ou privado
- Clique em “Create repository”
Conectando Repositório Local ao GitHub:
git remote add origin https://github.com/seuusuario/seurepositorio.git
git push -u origin main
Comandos Úteis para Colaboração
Clonando um Repositório:
git clone https://github.com/usuario/repositorio.git
Baixa um repositório do GitHub para seu computador.
Atualizando Repositório Local:
git pull origin main
Baixa as últimas mudanças do GitHub.
Enviando Mudanças:
git push origin main
Envia suas mudanças para o GitHub.
Pull Requests
O que é um Pull Request?
É uma forma de propor mudanças em um projeto. Você sugere suas alterações e outros desenvolvedores podem revisar antes de aceitar.
Como Fazer um Pull Request:
- Fork o repositório original
- Clone seu fork
- Crie uma branch para sua funcionalidade
- Faça suas mudanças e commits
- Push para seu fork
- Abra um Pull Request no repositório original
Boas Práticas
Mensagens de Commit:
- Seja descritivo: “Adiciona funcionalidade de login”
- Use presente: “Adiciona” em vez de “Adicionei”
- Seja conciso: máximo 50 caracteres
Frequência de Commits:
- Faça commits pequenos e frequentes
- Um commit por funcionalidade
- Não misture correções com novas funcionalidades
Nomes de Branches:
- feature/nova-funcionalidade
- bugfix/correcao-login
- hotfix/erro-critico
Resolvendo Conflitos
O que são Conflitos?
Conflitos acontecem quando duas pessoas modificam o mesmo arquivo na mesma linha.
Como Resolver:
- Git mostra onde estão os conflitos
- Edite o arquivo removendo as marcações de conflito
- Escolha qual versão manter
- Adicione o arquivo resolvido
- Faça commit da resolução
Comandos de Emergência
Desfazendo Último Commit:
git reset --soft HEAD~1
Mantém as mudanças mas remove o commit.
Desfazendo Mudanças Não Commitadas:
git checkout -- arquivo.txt
Volta o arquivo para a última versão commitada.
Vendo Diferenças:
git diff
Mostra as diferenças entre arquivos modificados e commitados.
Recursos Adicionais
GitHub Desktop:
Interface gráfica para Git, ideal para iniciantes.
VS Code Integration:
O VS Code tem integração nativa com Git, facilitando o uso.
Documentação Oficial:
- Git: git-scm.com/doc
- GitHub: docs.github.com
Projetos para Praticar
1. Portfólio Pessoal
Crie um repositório para seu portfólio e mantenha-o atualizado.
2. Contribua em Projetos Open Source
Encontre projetos interessantes no GitHub e contribua com melhorias.
3. Documente seu Aprendizado
Crie um repositório com anotações sobre o que você aprende.
Conclusão
Git e GitHub são ferramentas fundamentais que todo desenvolvedor deve conhecer. Comece com os comandos básicos e pratique regularmente.
Na Ramility, usamos Git e GitHub em todos os nossos projetos para manter o código organizado e facilitar a colaboração. Quer trabalhar em projetos que usam essas ferramentas? Entre em contato conosco!