Git é um sistema de controle de versão distribuído que permite rastrear mudanças em arquivos ao longo do tempo. É essencial para desenvolvimento de software colaborativo.
- Histórico completo: Mantém registro de todas as alterações feitas no código
- Trabalho colaborativo: Permite que múltiplas pessoas trabalhem no mesmo projeto simultaneamente
- Gerenciamento de versões: Facilita a criação e manutenção de diferentes versões do software
- Backup: Fornece uma cópia de segurança do código em repositórios remotos
O Git se tornou uma ferramenta essencial na carreira de qualquer desenvolvedor moderno. Embora não seja a única forma de versionamento de código, é certamente a mais popular e amplamente adotada.
Pense no Git como o "Dropbox ou Google Drive do código", mas com recursos avançados para controle de versão e colaboração. Ele permite que equipes trabalhem na mesma base de código sem precisar trocar arquivos por e-mail, mensagens ou outros meios menos eficientes.
É importante entender a diferença entre o Git (a ferramenta de controle de versão) e as plataformas que o utilizam:
- Git: O sistema de controle de versão em si
- GitHub: Uma plataforma web que utiliza Git e adiciona recursos sociais e de colaboração
- GitLab: Outra plataforma similar ao GitHub
- Bitbucket: Mais uma alternativa para hospedar repositórios Git
Todas essas plataformas são construídas sobre o protocolo Git, mas oferecem interfaces e recursos adicionais distintos.
Existem diferentes níveis de uso do Git:
- Via linha de comando: Usando diretamente os comandos Git no terminal
- Via interfaces gráficas: Usando programas que facilitam o uso do Git com recursos visuais
- Abordagem híbrida: Combinando comandos de terminal com interfaces visuais
Neste guia, adotaremos uma abordagem híbrida, que oferece o melhor custo-benefício entre o que você precisa aprender (comandos) e a visualização das mudanças no seu código.
Antes de começar a usar o Git, configure seu nome de usuário e email:
git config --global user.name "Seu Nome"
git config --global user.email "seu.email@exemplo.com"git initCria um novo repositório Git vazio no diretório atual.
git statusMostra o estado atual do repositório, incluindo arquivos modificados, adicionados ou removidos.
git add arquivo.go # Adiciona um arquivo específico
git add . # Adiciona todos os arquivos modificadosPrepara os arquivos para serem commitados.
git commit -m "Mensagem descrevendo as alterações"Salva as alterações no histórico do repositório com uma mensagem descritiva.
git log # Histórico completo
git log --oneline # Histórico resumido, uma linha por commitMostra o histórico de commits do repositório.
git remote add origin https://github.com/usuario/repositorio.gitAssocia seu repositório local a um repositório remoto.
git push -u origin main # Na primeira vez
git push # Nas próximas vezesEnvia seus commits locais para o repositório remoto.
git pullBaixa e integra as alterações do repositório remoto.
git clone https://github.com/usuario/repositorio.gitCria uma cópia local de um repositório remoto existente.
git branch nome-da-branch # Apenas cria a branch
git checkout -b nome-da-branch # Cria e muda para a nova branchBranches permitem trabalhar em funcionalidades isoladamente.
git checkout nome-da-branchAlterna para uma branch específica.
git checkout main # Primeiro, mude para a branch de destino
git merge nome-da-branch # Mescla a branch especificada na branch atualCombina as alterações de uma branch com outra.
Além da linha de comando, você pode usar ferramentas visuais para facilitar o uso do Git:
- GitHub Desktop: Interface gráfica simples para GitHub
- GitKraken: Cliente Git com interface visual poderosa
- VSCode: O próprio VSCode tem integração com Git
- Commits pequenos e frequentes: Faça commits de alterações relacionadas e com mensagens claras
- Pull antes de Push: Sempre atualize seu repositório local antes de enviar alterações
- Branches para funcionalidades: Crie branches separadas para cada funcionalidade ou correção
- Revisão de código: Utilize pull requests para revisar código antes de mesclar
Como em qualquer ferramenta, é importante que você encontre seu próprio fluxo de trabalho com o Git. Absorva as informações de diferentes fontes, teste diferentes abordagens e escolha o que funciona melhor para você e sua equipe.
Para iniciantes, recomendamos a abordagem híbrida: aprender os comandos básicos do Git para entender os conceitos, mas utilizar interfaces visuais quando elas facilitarem o trabalho.