Descubra como dominar os comandos essenciais do Git no GitHub para otimizar seu fluxo de trabalho. Este guia abrangente oferece insights sobre controle de versão, colaboração eficiente, revisão de código, garantindo maior eficiência, segurança e qualidade no desenvolvimento de software.
Introdução
GitHub é uma plataforma de hospedagem de código que utiliza o sistema de controle de versão Git, amplamente utilizado por desenvolvedores e equipes de software em todo o mundo. A combinação de Git e GitHub oferece uma série de benefícios, tais como:
- Controle de Versão: Permite rastrear e gerenciar alterações no código-fonte ao longo do tempo, possibilitando a recuperação de versões anteriores.
- Colaboração: Facilita o trabalho em equipe, permitindo que múltiplos desenvolvedores trabalhem no mesmo projeto simultaneamente, gerenciando conflitos de forma eficiente.
- Histórico e Auditoria: Mantém um registro detalhado de todas as alterações feitas, por quem e quando, fornecendo um histórico completo do desenvolvimento do software.
- Revisão de Código: Através de pull requests, os desenvolvedores podem revisar o código uns dos outros antes da integração, garantindo maior qualidade e consistência.
- Integração Contínua e Deployment (CI/CD): GitHub Actions permite a automação de fluxos de trabalho, como testes automáticos e deploys, melhorando a eficiência e reduzindo erros.
- Gerenciamento de Projetos: Issues, project boards e milestones ajudam na organização e gerenciamento das tarefas, bugs e novas funcionalidades.
Este guia objetiva fornecer um resumo objetivo e completo dos comandos Git que são frequentemente utilizados no GitHub para gerenciar repositórios, colaborar com outros desenvolvedores e automatizar fluxos de trabalho.
Comandos Básicos do Git
Configuração Inicial
Antes de começar a usar o Git, é importante configurar seu ambiente:
$ git config --global user.name "Seu Nome"
$ git config --global user.email "[email protected]"
Remover Repositório
Para remover o Git de um projeto (remover todo o versionamento), você precisa excluir a pasta .git
que fica na raiz do projeto:
$ rm -rf .git
Criação de Repositórios
Para criar um novo repositório:
$ git init
Clonando um Repositório
Para clonar um repositório existente:
$ git clone https://github.com/usuario/repositorio.git
Status e Logs
Para verificar o status dos arquivos no repositório:
$ git status
Para ver o histórico de commits:
$ git log
Adicionando e Confirmando Alterações
Para adicionar arquivos ao índice:
$ git add nome_do_arquivo
ou para adicionar todos $ git add .
Para confirmar as mudanças:
$ git commit -m "Mensagem com descrição sobre a alteração"
Sincronizando com um Repositório Remoto
Para adicionar um repositório remoto: $ git remote add origin https://github.com/usuario/repositorio.git
Para enviar mudanças para o repositório remoto: $ git push origin main
Para baixar mudanças do repositório remoto: $ git pull origin main
Branches
Para criar uma nova branch: $ git branch nome_da_branch
Para trocar de branch: $ git checkout nome_da_branch
Para criar e mudar para uma nova branch: $ git checkout -b nome_da_branch
Para mesclar uma branch na branch atual: $ git merge nome_da_branch
Excluindo Branches
Para excluir uma branch local: $ git branch -d nome_da_branch
Para excluir uma branch remota: $ git push origin --delete nome_da_branch
Revertendo Alterações
Para desfazer mudanças em arquivos no índice: $ git reset nome_do_arquivo
Para desfazer mudanças confirmadas: $ git revert hash_do_commit
Comandos Avançados do Git
Rebasing
Para aplicar rebase de uma branch em outra: $ git rebase nome_da_branch
Stashing
Para armazenar mudanças não confirmadas temporariamente: $ git stash
Para aplicar mudanças stash: $ git stash apply
Tags
Para criar uma nova tag: $ git tag -a v1.0 -m "Versão 1.0"
Para enviar tags para o repositório remoto: $ git push origin --tags
Submódulos
Para adicionar um submódulo: $ git submodule add https://github.com/usuario/submodulo.git
Para inicializar e atualizar submódulos: $ git submodule update --init --recursive
Diff
Para ver as diferenças entre arquivos alterados: $ git diff
Para ver as diferenças entre um commit específico e a working directory: $ git diff hash_do_commit
Para ver as diferenças entre dois commits: $ git diff hash_commit1 hash_commit2
Para ver as diferenças entre a working directory e o último commit confirmado: $ git diff HEAD
Comandos Relacionados ao GitHub
Fork
Para fazer fork de um repositório diretamente no GitHub, use a interface web. Depois, clone o fork localmente: $ git clone https://github.com/seu_usuario/repositorio_fork.git
Pull Requests
Para criar um pull request, primeiro crie uma nova branch, faça as alterações, envie para o seu repositório e, em seguida, use a interface web do GitHub para criar o pull request.
Issues
Para criar issues, utilize a interface web do GitHub na aba “Issues”.
Actions
Para configurar workflows de automação, adicione arquivos de configuração YAML no diretório .github/workflows do repositório.
Revertendo para uma Versão Desejada
Usando git reset
Para redefinir o repositório para um estado anterior sem manter o histórico das mudanças subsequentes: $ git reset --hard hash_do_commit
–hard: redefine o índice e o diretório de trabalho.
Usando git revert
Para desfazer um commit específico mantendo o histórico: $ git revert hash_do_commit
Usando git checkout
Para visualizar uma versão específica sem alterar o histórico: $ git checkout hash_do_commit
Para retornar à branch principal após visualizar um commit específico: $ git checkout main
Usando git restore
Para restaurar arquivos específicos para o estado do último commit:$ git restore nome_do_arquivo
Para desfazer mudanças no índice (staging area):$ git restore --staged nome_do_arquivo
Para restaurar um diretório inteiro:$ git restore .
Conclusão
ste guia abrange os comandos essenciais do Git e GitHub que são utilizados para gerenciamento de repositórios e colaboração, incluindo como reverter para uma versão desejada. Familiarizar-se com esses comandos permitirá uma colaboração eficiente e um controle de versão eficaz em seus projetos. Para mais detalhes, consulte a#
Documentação oficial do Git
#
Documentação oficial do GitHub
Aumente Suas Habilidades
Desenvolva Sites e Aplicações
Aprenda programação do básico ao avançado na Rocketseat e acelere sua evolução. Acesse agora: Desenvolva Sites e Aplicações na Rocketseat
Domine as Habilidades de um QA
Domine todas as habilidades de um Profissional de Testes e Qualidade de Software e se antecipe às grandes oportunidades do mercado de desenvolvimento de software. Inscreva-se: Treinamento para QA – Testes e Automação em Qualidade de Software
Veja outros artigos:
Como Criar um Mock de API com json-server e Autenticação JWT
Se você precisa criar um mock de API com autenticação JWT, seja…
Aprenda a testar Aplicações Javascript
Você como Desenvolvedor ou QA em um cenário que demanda de conhecimentos…
Bootcamp Programador Full Stack Javascript Cataline
Então vamos lá, neste artigo, descrevo minha experiência referente a Cataline e…