Versionamento de Códigos com Git e GitHub
- #GitHub
- #Git
O Que é Git?
Git é um sistema de controle de versão distribuído. Ele registra o histórico de modificações de um projeto, permitindo que desenvolvedores acompanhem e revertam mudanças, além de facilitar o trabalho colaborativo entre diferentes membros da equipe.
Características do Git
- Controle Local e Distribuído: Cada desenvolvedor possui uma cópia completa do repositório, incluindo o histórico, em seu próprio computador.
- Alto Desempenho: A maioria das operações são realizadas localmente, o que torna o Git extremamente rápido.
- Rastreabilidade e Reversibilidade: Cada mudança é rastreada com precisão, permitindo o retorno a versões anteriores.
Principais Comandos do Git
1. Inicialização de um Repositório
Para iniciar o versionamento de um projeto, basta navegar até a pasta do projeto e inicializar um repositório Git:
$ git init
2. Configuração Inicial do Usuário
Configure seu nome e email, que serão associados aos seus commits:
$ git config --global user.name "Seu Nome"
$ git config --global user.email "seuemail@example.com"
3. Status dos Arquivos
Para verificar o estado dos arquivos no repositório (se estão prontos para commit ou ainda precisam ser adicionados), utilize:
$ git status
4. Adicionar Arquivos ao Controle de Versão
Para adicionar arquivos ao índice, que é o "preparatório" para o commit, use o comando git add:
$ git add <nome_do_arquivo>
# Ou para adicionar todos os arquivos
$ git add .
5. Commitar Mudanças
O commit salva as mudanças, criando um ponto de restauração com uma mensagem que descreve a alteração:
$ git commit -m "Descrição da mudança"
- Emendar um Commit: Se precisar ajustar o último commit (corrigir ou adicionar mais arquivos):
$ git commit --amend -m "Nova descrição"
6. Visualizar o Histórico
Para ver o histórico de commits e mudanças realizadas:
$ git log
7. Comparação de Diferenças
O comando diff mostra as diferenças entre arquivos no repositório e o índice, sendo útil para revisões antes de um commit:
$ git diff
8. Clonar um Repositório
Para obter uma cópia de um repositório remoto (por exemplo, no GitHub) para seu computador:
$ git clone <link_do_repositorio>
9. Configuração de Repositório Remoto
Conecte seu repositório local a um repositório remoto (como o GitHub) para facilitar o compartilhamento:
$ git remote add origin <link_do_repositorio>
10. Envio de Alterações para o Repositório Remoto
Após configurar o repositório remoto, você pode enviar alterações locais com:
$ git push -u origin main
11. Atualização do Código Local
Para obter as últimas atualizações do repositório remoto:
$ git pull origin main
12. Trabalhando com Branches (Ramificações)
Branches permitem o desenvolvimento paralelo e independente de funcionalidades:
$ git branch <nome_da_branch> # Cria uma nova branch
$ git checkout <nome_da_branch> # Alterna para a branch criada
$ git checkout -b <nome_da_branch> # Cria e muda para a nova branch
13. Mesclagem de Branches
Para integrar mudanças de uma branch no código principal (geralmente a main):
$ git checkout main
$ git merge <nome_da_branch>
14. Rebase
A operação de rebase permite reescrever o histórico de commits, reorganizando-o em relação a outra branch:
$ git checkout <branch_de_trabalho>
$ git rebase main
O Que é GitHub?
GitHub é uma plataforma de hospedagem de repositórios Git que adiciona funcionalidades sociais e colaborativas. Ele permite que desenvolvedores compartilhem seus projetos, colaborem e aproveitem funcionalidades como pull requests e revisão de código.
Principais Funcionalidades do GitHub
- Pull Requests: Permite que colaboradores proponham mudanças ao projeto. Após revisadas, essas mudanças podem ser mescladas ao código principal.
- Revisão de Código: Outros desenvolvedores podem revisar as mudanças propostas, garantindo que o código siga as práticas recomendadas antes de ser integrado.
- Issues (Problemas): É uma ferramenta para reportar bugs, sugerir melhorias e organizar tarefas.
- GitHub Actions: Permite automação de tarefas, como integração contínua, testes automáticos e deploys.
Como Utilizar Git e GitHub Juntos?
Para compartilhar um projeto local com a equipe ou torná-lo público no GitHub:
- Criar um Repositório no GitHub: Acesse o GitHub, clique em "New Repository" e siga as instruções.
- Conectar o Repositório Local ao GitHub: Após criar o repositório no GitHub, copie o link do repositório e execute o comando:
$ git remote add origin <link_do_repositorio>
- Enviar o Código para o GitHub: Esse comando envia o código local para o repositório remoto no GitHub, tornando-o acessível a outros desenvolvedores.
$ git push -u origin main
Boas Práticas no Uso de Git e GitHub
- Faça Commits Pequenos e Frequentes: Facilita a rastreabilidade e reduz o risco de conflitos de merge.
- Utilize Mensagens de Commit Descritivas: Escreva mensagens claras, que ajudem a identificar rapidamente as mudanças realizadas.
- Trabalhe com Branches: Desenvolva novas funcionalidades em branches separadas para garantir que o código principal continue estável.
- Revisões de Código: Ao trabalhar com outros desenvolvedores, realize revisões de código para garantir a qualidade do projeto.
- Integração Contínua: Utilize GitHub Actions ou outras ferramentas de CI/CD para realizar testes e integração contínua, garantindo que o código esteja sempre funcionando.