O Git continua sendo a base do controle de versão para milhões de desenvolvedores em todo o mundo. Embora seus princípios básicos sejam firmes, as práticas recomendadas e os fluxos de trabalho comuns evoluem. Este artigo revisita os comandos mais importantes do Git, oferecendo exemplos atualizados e explicando sua relevância no cenário de desenvolvimento atual, completo com imagens ilustrativas.
1. git init 🏗️
Propósito: Inicializa um novo repositório Git. Este é o primeiro passo para qualquer novo projeto que você queira acompanhar com o Git.
Exemplo:
Bash
mkdir my-new-project
cd my-new-project
git init
Isso cria um oculto .git diretório, que armazena todos os arquivos de repositório necessários.
2. git clone 👯
Propósito: Cria uma cópia native de um repositório remoto existente. Essencial para ingressar em um projeto existente.
Exemplo:
Bash
git clone https://github.com/consumer/repo-name.git
Este comando baixa todo o histórico do projeto e configura o rastreamento para o repositório remoto.
3. git add ➕
Propósito: Mudanças de estágio para o próximo commit. Ele informa ao Git quais arquivos modificados você deseja incluir em seu próximo snapshot.
Exemplo:
Bash
git add index.html # Add a selected file
git add js/ # Add all recordsdata in a listing
git add . # Add all adjustments within the present listing
Usando git add . é comum, mas lembre-se de revisar as alterações com git standing primeiro.
4. git commit ✅
Propósito: Registra as alterações preparadas permanentemente no histórico do repositório. Cada commit é um instantâneo do seu projeto em um momento específico.
Exemplo:
Bash
git commit -m "feat: Add consumer authentication module"
O -m flag fornece uma mensagem de commit. Melhores práticas modernas recomenda mensagens de commit descritivas e convencionais (por exemplo, “feat:”, “repair:”, “docs:”) para melhor legibilidade do histórico do projeto.
5. git standing 📊
Propósito: Mostra o estado atual do diretório de trabalho e da área de preparação. Ele informa quais alterações estão preparadas, não preparadas e não rastreadas.
Exemplo:
Bash
git standing
Este comando é seu melhor amigo para entender o que está acontecendo em seu repositório antes de confirmar.
6. git log 📜
Propósito: Exibe o histórico de commits. Você pode ver quem fez as alterações, quando e qual foi a mensagem de commit.
Exemplo:
Bash
git log # Present full historical past
git log --oneline # Present a condensed one-line abstract per commit
git log --graph --oneline --all # Visualize department historical past with a graph
git log é incrivelmente versátil para explorar o passado do seu projeto.
7. git department 🌿
Propósito: Gerencia filiais. As filiais são linhas independentes de desenvolvimento.
Exemplo:
Bash
git department # Checklist all native branches
git department function/new-design # Create a brand new department
git department -d function/old-feature # Delete a neighborhood department (after merging)
Ramificação de recursos é um fluxo de trabalho padrão, mantendo o desenvolvimento isolado até que esteja pronto para integração.
8. git checkout ➡️ (e git change)
Propósito: Alterna entre ramificações ou restaura arquivos. Enquanto checkout ainda é amplamente utilizado, o Git introduziu git change e git restore em versões mais recentes para esclarecer a intenção.
Exemplo (usando git change para filiais):
Bash
git change function/new-design # Swap to an present department
git change -c bugfix/login-error # Create and change to a brand new department
Exemplo (usando git restore para arquivos):
Bash
git restore index.html # Discard adjustments in working listing
git restore --staged index.html # Unstage adjustments
Recomendação: Usar git change para mudar de filial e git restore para gerenciar estados de arquivos, reservando git checkout para scripts mais antigos ou casos de uso avançados específicos.
9. git merge 🤝
Propósito: Integra mudanças de uma ramificação para outra.
Exemplo:
Bash
git change most important
git merge function/new-design
Este comando traz o histórico de function/new-design em most important. Git tentará um mesclagem de avanço rápido se possível, ou crie um consolidação de mesclagem se houver histórias divergentes.
10. git rebase ➖
Propósito: Reescreve o histórico de commits. Ele transfer ou combina uma sequência de commits para um novo commit base. Útil para manter um histórico linear do projeto.
Exemplo:
Bash
git change function/new-design
git rebase most important
Isso leva o seu function/new-design confirma e reaplica-os em cima dos mais recentes most important filial. Geralmente é usado para manter as ramificações de recursos atualizadas e criar históricos de mesclagem limpos. Cuidado: Não faça rebase de ramificações que foram enviadas para um repositório remoto compartilhado, pois isso reescreve o histórico e pode causar conflitos para os colaboradores.
11. git push ⬆️
Propósito: Carrega commits de department native para um repositório remoto.
Exemplo:
Bash
git push origin most important # Push the primary department to 'origin' distant
git push -u origin function/new-design # Set upstream and push for the primary time
O -u (ou --set-upstream) é essential ao enviar uma nova filial native, pois vincula sua filial native à sua contraparte remota.
12. git pull ⬇️
Propósito: Busca alterações de um repositório remoto e as integra na ramificação native atual. É essencialmente git fetch seguido pela git merge.
Exemplo:
Bash
git pull origin most important
Sempre git pull antes de iniciar um novo trabalho ou enviar alterações para garantir que você tenha o código mais recente.
13. git fetch 📥
Propósito: Baixa objetos e referências de outro repositório. Ele recupera todas as alterações mais recentes do controle remoto sem mesclá-las em seu department de trabalho atual.
Exemplo:
Bash
git fetch origin
Isso permite que você veja o que há de novo no controle remoto (por exemplo, origin/most important) sem modificar suas filiais locais.
14. git distant 🌐
Propósito: Gerencia o conjunto de repositórios rastreados (“remotos”).
Exemplo:
Bash
git distant -v # Checklist present remotes
git distant add upstream https://github.com/fork/original-repo.git # Add a brand new distant
git distant take away upstream # Take away a distant
Frequentemente usado em fluxos de trabalho de bifurcação para rastrear o repositório do projeto authentic.
15. git stash 🧺
Propósito: Salva temporariamente as alterações que não estão prontas para serem confirmadas, permitindo alternar contextos (por exemplo, ramificações) sem submeter trabalho incompleto.
Exemplo:
Bash
git stash save "WIP: login part" # Stash with a message
git stash record # View stashed adjustments
git stash pop # Apply the latest stash and take away it
git stash apply stash@{1} # Apply a selected stash with out eradicating it
Um comando inestimável para troca de contexto e tratamento de interrupções.
16. git tag 🏷️
Propósito: Marca pontos específicos do histórico como importantes, geralmente usados para versões de lançamento (por exemplo, v1.0, v2.0-beta).
Exemplo:
Bash
git tag v1.0.0 # Create a light-weight tag
git tag -a v1.0.0 -m "Launch v1.0.0" # Create an annotated tag (advisable)
git push origin v1.0.0 # Push tags to distant
As tags anotadas incluem uma mensagem, um tagger e uma knowledge e geralmente são preferidas para lançamentos oficiais.
17. git revert ⏪
Propósito: Desfaz um commit anterior criando um novo commit que reverte as alterações. É uma maneira segura de desfazer alterações no histórico compartilhado, pois não reescreve os commits existentes.
Exemplo:
Bash
git revert HEAD~1 # Revert the second to final commit
git revert
Usar git revert quando você precisar desfazer alterações que já foram enviadas para um repositório compartilhado.
18. git reset 🗑️
Propósito: Redefine o ponteiro HEAD para um estado especificado. Este comando é poderoso e pode ser usado para desfazer alterações, desfazer confirmações ou remover arquivos do índice.
Exemplo:
Bash
git reset HEAD^ # Uncommit the final commit, hold adjustments (default --mixed)
git reset --soft HEAD~1 # Uncommit, hold adjustments staged
git reset --hard # Discard all adjustments as much as the required commit (DANGEROUS!)
git reset --hard deve ser utilizado com extrema cautela, pois descarta permanentemente alterações locais.
19. git config ⚙️
Propósito: Obtém e outline repositório ou opções globais. Usado para configurar seu ambiente Git.
Exemplo:
Bash
git config --global consumer.identify "Your Identify"
git config --global consumer.electronic mail "your.electronic mail@instance.com"
git config --list # Checklist all configurations
Definir seu nome e e-mail globalmente é geralmente uma das primeiras coisas que você faz após instalar o Git.
20. git clear 🧹
Propósito: Take away arquivos não rastreados do seu diretório de trabalho. Útil para limpar um ambiente de construção ou começar com uma nova lousa.
Exemplo:
Bash
git clear -n # Present what can be eliminated (dry run)
git clear -f # Take away untracked recordsdata (use with warning!)
git clear -df # Take away untracked recordsdata and untracked directories
Sempre use git clear -n primeiro para evitar a exclusão acidental de arquivos importantes.
Este guia atualizado fornece uma base sólida para o uso eficaz do Git em fluxos de trabalho de desenvolvimento modernos. Dominar esses comandos permitirá que você gerencie seus projetos com confiança e colabore perfeitamente com sua equipe.