Banner git e github
Git

12 Comandos Essenciais do Git para Iniciantes

Domine o controle de versão com os comandos fundamentais do Git e aprenda a usar commits semânticos para organizar seu código



O Git é uma das ferramentas mais poderosas para controle de versão, essencial para desenvolvedores que desejam gerenciar e colaborar em projetos de forma eficiente. Se você está começando agora, conhecer os comandos essenciais do Git é o primeiro passo para se tornar um mestre no versionamento de código. Neste post, vamos explorar 12 comandos indispensáveis do Git e introduzir o conceito de commits semânticos para manter seu histórico de commits organizado e claro.

Sumário

  1. git clone
  2. git status
  3. git add
  4. git commit
  5. git push
  6. git pull
  7. git checkout -b
  8. git checkout
  9. git merge
  10. git stash
  11. git stash pop
  12. git rm --cached
  13. Commits Semânticos: Organizando Seu Histórico de Commits
  14. Conclusão

git clone

Descrição: Clona um repositório remoto para o seu ambiente local.

Quando usar: Quando você deseja começar a trabalhar em um projeto existente.

Exemplo:

git clone https://github.com/usuario/projeto.git

git status

Descrição: Mostra o estado atual do repositório, incluindo mudanças não confirmadas e arquivos não rastreados.

Quando usar: Antes de adicionar ou commitar alterações para verificar o que mudou.

Exemplo:

git status

git add

Descrição: Adiciona mudanças no diretório de trabalho à área de preparação (staging area).

Quando usar: Quando você está pronto para preparar arquivos específicos para o commit.

Exemplo:

git add arquivo.js

Ou para adicionar todas as mudanças:

git add .

git commit

Descrição: Salva as mudanças na história do repositório com uma mensagem descritiva.

Quando usar: Depois de adicionar as mudanças com git add, para registrar um ponto no histórico do projeto.

Exemplo:

git commit -m "Adiciona funcionalidade de login"

git push

Descrição: Envia os commits locais para o repositório remoto.

Quando usar: Para compartilhar suas mudanças com a equipe ou atualizar o repositório remoto.

Exemplo:

git push origin main

git pull

Descrição: Atualiza o repositório local com as mudanças do repositório remoto, realizando um fetch e merge.

Quando usar: Para sincronizar seu repositório local com as últimas alterações do remoto.

Exemplo:

git pull origin main

git checkout -b

Descrição: Cria e muda para uma nova branch.

Quando usar: Para começar a trabalhar em uma nova funcionalidade ou correção sem afetar a branch principal.

Exemplo:

git checkout -b nova-funcionalidade

git checkout

Descrição: Muda para uma branch existente ou restaura arquivos de trabalho.

Quando usar: Para alternar entre diferentes linhas de desenvolvimento.

Exemplo:

git checkout main

git merge

Descrição: Mescla mudanças de uma branch para outra.

Quando usar: Após finalizar o desenvolvimento em uma branch, para integrar as mudanças na branch principal.

Exemplo:

git merge nova-funcionalidade

git stash

Descrição: Guarda temporariamente mudanças não confirmadas para limpar o diretório de trabalho.

Quando usar: Quando você precisa mudar de branch rapidamente sem commitar as mudanças atuais.

Exemplo:

git stash

git stash pop

Descrição: Aplica o stash mais recente e o remove da lista de stashes.

Quando usar: Para recuperar as mudanças guardadas anteriormente com git stash.

Exemplo:

git stash pop

git rm --cached

Descrição: Remove um arquivo do índice (staging area) sem deletá-lo do sistema de arquivos.

Quando usar: Para deixar de rastrear arquivos que foram adicionados por engano.

Exemplo:

git rm --cached arquivo.conf

Commits Semânticos: Organizando Seu Histórico de Commits

Além de conhecer os comandos essenciais, adotar uma convenção para as mensagens de commit pode tornar seu histórico de commits mais claro e útil. Os commits semânticos utilizam prefixos específicos para indicar o tipo de mudança realizada. Vamos explorar os principais tipos e como utilizá-los.

Commits Semânticos: Organizando Seu Histórico de Commits

Além de conhecer os comandos essenciais, adotar uma convenção para as mensagens de commit pode tornar seu histórico de commits mais claro e útil. Os commits semânticos utilizam prefixos específicos para indicar o tipo de mudança realizada. Vamos explorar os principais tipos e como utilizá-los.

feat (Feature)

Quando usar: Para adicionar uma nova funcionalidade ao projeto.

Exemplos:

  • feat: adicionada funcionalidade de autenticação de usuários
  • feat: implementada integração com API externa
  • feat: criada página de perfil do usuário

fix (Correção)

Quando usar: Para corrigir um bug ou problema no código.

Exemplos:

  • fix: resolvido erro de validação no formulário de cadastro
  • fix: corrigido cálculo incorreto na função de desconto
  • fix: ajustado problema de layout na página inicial

chore (Tarefa de manutenção)

Quando usar: Para mudanças que não afetam o código de produção, como atualizações de dependências ou configurações.

Exemplos:

  • chore: atualizadas dependências do projeto
  • chore: configurado ESLint para padronizar o código
  • chore: adicionados scripts de build no package.json

docs (Documentação)

Quando usar: Para alterações na documentação do projeto.

Exemplos:

  • docs: atualizado README com instruções de instalação
  • docs: adicionada documentação para a API
  • docs: corrigidos erros de digitação na documentação

refactor (Refatoração)

Quando usar: Para melhorar a estrutura do código sem alterar sua funcionalidade.

Exemplos:

  • refactor: simplificada a lógica da função de login
  • refactor: reorganizados componentes para melhor manutenção
  • refactor: removido código redundante

test (Testes)

Quando usar: Para adicionar ou modificar testes.

Exemplos:

  • test: adicionados testes unitários para a função de cálculo
  • test: corrigidos testes quebrados na integração
  • test: implementados testes de integração para o módulo de pagamento

perf (Performance)

Quando usar: Para melhorias de performance no código.

Exemplos:

  • perf: otimizada consulta ao banco de dados
  • perf: melhorado tempo de carregamento da página
  • perf: reduzido o uso de memória na aplicação

style (Estilo)

Quando usar: Para mudanças relacionadas à formatação de código, como espaços em branco ou ponto-e-vírgula.

Exemplos:

  • style: ajustada a formatação do código para seguir a convenção
  • style: removido espaço em branco extra

ci (Integração Contínua)

Quando usar: Para mudanças relacionadas à configuração de pipelines de integração contínua.

Exemplos:

  • ci: ajustada configuração de pipeline no Jenkins
  • ci: adicionados scripts para CI no GitHub Actions

build (Construção)

Quando usar: Para mudanças que afetam o sistema de build ou dependências externas.

Exemplos:

  • build: atualizada versão do Webpack
  • build: ajustada configuração do Babel

cleanup (Limpeza)

Quando usar: Para remover código ou comentários obsoletos e melhorar a legibilidade do código.

Exemplos:

  • cleanup: removido código comentado
  • cleanup: eliminadas variáveis não utilizadas

remove (Remoção)

Quando usar: Para remover arquivos ou funcionalidades obsoletas.

Exemplos:

  • remove: excluído arquivo desatualizado
  • remove: removida função não utilizada

Conclusão

Dominar os comandos essenciais do Git e adotar commits semânticos são passos fundamentais para qualquer desenvolvedor que deseja trabalhar de forma eficiente e organizada. Com essas ferramentas e práticas, você estará preparado para gerenciar projetos, colaborar com sua equipe e manter um histórico de desenvolvimento claro e útil.

Lembre-se de praticar regularmente e explorar mais funcionalidades do Git conforme você avança. O controle de versão é uma habilidade valiosa que, quando bem dominada, pode transformar a maneira como você desenvolve e colabora em projetos de software.