ref.unsplash.com_pt-br_fotografias_um-dado-branco-com-um-logotipo-preto-do-github-sobre-ele-HLQDfaJUTVI.jpg

Comandos GitHub: Guia Prático e Essencial para o Dia a Dia

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:

Rolar para cima