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
- git clone
- git status
- git add
- git commit
- git push
- git pull
- git checkout -b
- git checkout
- git merge
- git stash
- git stash pop
- git rm --cached
- Commits Semânticos: Organizando Seu Histórico de Commits
- 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.