Pular para o conteúdo principal

Os 20 principais comandos do Git com exemplos: Um guia prático

Este guia aborda os comandos Git mais essenciais com exemplos para ajudar você a trabalhar com mais eficiência!
Actualizado 4 de mar. de 2025  · 15 min de leitura

O Git é uma ferramenta essencial para qualquer pessoa que trabalhe com código, seja você um desenvolvedor de software, cientista de dados, engenheiro de dados ou praticante de machine learning. Ele permite que as equipes colaborem no mesmo projeto simultaneamente e fornece um histórico claro das modificações de código, facilitando o rastreamento e o gerenciamento das atualizações.

Neste artigo, mostrarei a você os comandos Git mais usados, sua sintaxe e como aplicá-los em seu trabalho diário!

Comandos básicos do Git

As etapas básicas do trabalho com o Git incluem a criação de um repositório, a cópia de um repositório existente e a edição do código. Esta seção discuteessas funções fundamentais do git em detalhes, juntamentecom a sintaxe para implementá-las .

Você precisa instalar o Git? Siga este guia para instalar o Git em seu sistema.

git init

O comando git init cria um novo repositório Git ou reinicia um repositório existente.  

Quando você executa o comando, seu diretório atual se torna um repositório Git, permitindo que você acompanhe suas alterações. Ele adiciona uma pasta oculta .git no diretório, onde o Git armazena todos os metadados, o histórico de versões e os registros relacionados ao projeto.

clone do git

Para copiar um repositório Git de um local para outro, usamos o comando git clone. Normalmente, ele copia um repositório existente, incluindo registros e versões, de servidores remotos como o GitHub ou o GitLab para o seu computador local. 

Etapa 1: Navegue até o repositório do GitHub que você deseja clonar e clique em "Code" (Código).

comando git clone

comando git clone

Etapa 2: Copie o URL conforme mostrado na imagem. 

Comando básico do git clone

Comando básico do git clone

Etapa 3: Vá para o diretório em que você deseja clonar esse repositório no computador local e execute o seguinte comando: 

git clone <copied_URL>

status do git

O comando git status mostra detalhes sobre você: 

  • arquivos modificados (arquivos que foram alterados, mas não preparados).
  • arquivos não rastreados (arquivos que o Git não está programando).
  • arquivos preparados (arquivos que são preparados e estão prontos para serem confirmados).

Aqui está a sintaxe:

git status 

 Comando de status do Git

Comando de status do Git

git add

O comando git add adiciona suas alterações à área de preparação. Ele informa ao Git que o repositório deve atualizar essas alterações assim que o usuário executar o comando commit.

  • git add . : apresenta as alterações feitas em todos os arquivos. 
  • git add Inclui apenas as alterações feitas em um arquivo específico na área de preparação.

git commit

Um comando git commit salva as alterações que você fez (ou preparou) no repositório local. Toda vez que você executa git commit, o Git cria um instantâneo do seu repositório naquele momento. Isso permite que você reverta para um commit anterior sempre que necessário.

Aqui está a sintaxe:

git commit -m "commit_message"

A mensagem de confirmação é uma breve descrição das alterações feitas em uma confirmação.

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.
Comece a aprender de graça

Trabalhando com repositórios remotos

O GitHub hospeda vários aplicativos em seus servidores remotos, permitindo que os desenvolvedores os rastreiem e gerenciem. Nesta seção, veremos como extrair, transferir e interagir com esses repositórios remotos usando comandos do Git. 

Você quer saber como o GitHub funciona? Comece com uma Introdução aos conceitos do GitHub para entender repositórios, solicitações pull e práticas recomendadas de colaboração.

git remote add

O comando git remote add cria uma conexão entre o repositório Git local e o repositório Git remoto, permitindo que você faça push e pull de alterações entre eles:

git remote add <repo_name> <remote_url>
  • Nome de usuário: um apelido para o repositório remoto ("origem" por padrão).
  • URL do repositório remoto.

git push

O comando git push sincroniza o repositório remoto com o repositório local. Quando você executar esse comando, o repositório remoto refletirá todas as alterações que você fez localmente.

git push <remote> <branch>
  • Alias para o repositório remoto ("origem" por padrão).
  • Nome do ramo para o qual você deseja fazer push.

Há algumas variações de git push, por exemplo:

git push ---all origin

O comando acima faz push de todas as ramificações locais para o repositório remoto.

git push --force origin main

O comando acima substitui a ramificação main no repositório remoto pela ramificação local main. Tenha cuidado ao usá-lo, pois a ramificação principal remota pode perder todo o seu histórico. 

git pull

O comando git pull busca e mescla as alterações no repositório remoto com as do repositório local. 

O comando git pull combina dois comandos: git fetch e git merge

Primeiro, o git fetch recupera todas as alterações do repositório remoto, incluindo novos commits, tags e branches. Em seguida, o site git merge é executado, integrando essas alterações ao branch local atual. 

Aqui está a sintaxe:

git pull origin feature-branch

O comando acima obtém dados do site feature_branch no repositório remoto e faz o commit no branch local atual. 

git fetch

O comando git fetch permite que você revise as alterações no repositório remoto antes de mesclá-las com o local. Ele faz o download das alterações e as atualiza nas ramificações de controle remoto. Para quem não conhece, as ramificações de controle remoto são cópias das ramificações do repositório remoto. 

Por exemplo, o comando a seguir faz o download das alterações no repositório remoto e as atualiza nas ramificações de rastreamento remoto em origin:

git fetch origin

Ramificação e mesclagem no Git

A ramificação do Git permite que os desenvolvedores trabalhem de forma independente em novos recursos ou correções de bugs sem afetar o repositório principal. Quando as alterações estiverem prontas, a mesclagem as integrará à base de código principal. Vamos explorar os principais comandos envolvidos nesse processo.

ramificação do git

O comando git branch lista, cria ou exclui ramificações. Uma ramificação é outra versão do seu repositório. 

Se estiver desenvolvendo um novo recurso para o seu aplicativo, você poderá criar e trabalhar em uma nova ramificação. Você pode mesclar tudo ao ramo principal quando tudo estiver pronto e testado. Isso permite que você trabalhe em novos recursos de forma independente, sem interferir diretamente na linha principal.  

  • git branch: produz a lista de todas as ramificações no repositório.
  • git branch Cria uma nova ramificação chamada "nome_da_ramificação".
  • git branch -d : Exclui o ramo denominado "branch_name".

checkout do git

Ocomando git checkoutpode fazer duas coisas: alternar entre ramificações ou restaurar arquivos para um estado anterior.

  • Trocar de ramo: Antes do git 2.23, o comando git checkout branch_name era usado para mudar do ramo atual para outro. Mas isso não era apenas para mudar de uma filial existente; você também pode criar e mudar para uma nova filial.

O comando a seguir cria uma nova ramificação chamada "feature_branch" e alterna para ela:

git checkout -b feature_branch

No entanto, na versão mais recente do Git, git checkout é substituído por git switch para restaurar arquivos. 

  • Restaurar arquivos: Você pode descartar as alterações feitas em um arquivo e restaurá-lo para sua versão anterior com o seguinte comando.
git checkout -- <file-name>

Você também pode fazer isso com um arquivo de outra ramificação da seguinte forma:

git checkout <branch-name> -- <file-name>

git merge

Se você tiver feito algum trabalho em um novo ramo, poderá mesclá-lo ao ramo principal usando git merge para implementar as alterações. O Git realiza a mesclagem de duas maneiras:

  • Avanço rápido da fusão: Digamos que você tenha criado uma nova ramificação chamada "feature_x" a partir da ramificação principal e trabalhado nela. Se o ramo principal não teve nenhuma atualização desde que você criou "recurso_x", em vez de fazer o commit das alterações de "recurso_x" no ramo principal, o Git atualiza o ramo principal para apontar para a versão mais recente de "recurso_x". Nesse caso, nenhum novo commit de mesclagem é criado. 
  • Mesclagem de três vias: Se tanto o "recurso_x" quanto o ramo principal tiverem edições, o Git combinará as alterações e criará um novo commit de mesclagem no ramo principal. 

Por exemplo: 

      C---D---F (feature-branch)
     /
A---B---E---G (main)

No commit B, o ramo de recursos C é criado. O ramo principal tem commits extras, E e G, mesmo depois de criar o ramo de recursos. Portanto, o recurso é mesclado ao principal, criando um novo commit de mesclagem M da seguinte forma:

      C---D---F (feature-branch)
     /         \         
A---B---E---G---M (main)

git rebase

git rebase é outra maneira de integrar as alterações entre as ramificações, mas funciona de forma diferente em comparação com git merge. A mesclagem mantém o histórico completo das ramificações principal e de recursos. O rebase, por outro lado, substitui o histórico do commit para torná-lo linear e limpo.

Além disso, a mesclagem requer um commit de mesclagem extra, enquanto o rebase não cria nenhum commit novo. O Git rebase executa duas etapas: 

  1. Mudar para uma ramificação de recurso 
  2. Refaça a base para o principal.

Por exemplo:

      C---D---F (feature-branch)
     /
A---B---E---G (main)
  • Etapa 1: executa git checkout feature_branch.
  • Etapa 2: Executa git rebase main: Mover toda a ramificação de recursos para a ramificação principal, reaplicando os commits C, D, F como C’, D’ e F’ em cima do último commit G na ramificação principal. Isso cria um histórico linear de commits da seguinte forma:
A---B---E---G---C'---D'---F' (main)

Como as operações de mesclagem e rebase são frequentementeconfundidas, aqui está um resumo das diferenças:

Mesclar 

Rebase

Ele preserva todo o histórico de commits de ambas as ramificações.

Ele substitui o histórico do commit para torná-lo linear.

Um commit de mesclagem extra é criado.

Não são criados commits adicionais.

A estrutura da filial é visível no histórico.

Isso faz com que o histórico de commits pareça uma linha reta.

Use-o para acompanhar o histórico de commits de cada branch, incluindo uma linha do tempo de quando eles foram mesclados.

Use-o quando você precisar de um histórico de commits claro e fácil de entender. 

Você quer saber mais sobre como trabalhar com filiais remotas? Saiba como fazer check-out e rastrear filiais remotas usando git checkout neste tutorial passo a passo.

Histórico do Git e desfazimento de alterações

O Git fornece vários comandos para você visualizar o histórico e desfazer as alterações em diferentes estágios de desenvolvimento. Os comandos relevantes são discutidos aqui. 

Registro git

O comando git log exibe todo o histórico de commits do ramo atual. Ele inclui quatro campos principais: commit, autor, data e mensagem de commit. 

Histórico de commits do git

Histórico de commits do git

  • Commit: um ID exclusivo.
  • Autor: nome e e-mail da pessoa.
  • Data: O registro de data e hora de quando a alteração foi confirmada.
  • Mensagem do commit: descrição do commit. 

git diff

O site git diff exibe as diferenças entre vários estados do seu repositório, quer você esteja comparando o diretório atual com a área de preparação, a área de preparação com o último commit ou até mesmo dois arquivos ou ramificações, o que você especificar.

  • git diff - mostra a diferença entre o diretório de trabalho atual e a área de preparação. 
  • git diff -- cachedMostra as diferenças entre a área de preparação e o último commit.
  • git diff commit1 commit2 - A diferença entre commit 1 e commit 2.
  • git diff branch1..branch2 - Compara as diferenças entre branch 1 e branch 2.

git reset

O comando git reset permite que você desfaça as alterações, redefinindo o HEAD atual para um estado anterior específico. Para mover o HEAD para um commit anterior, você tem três variações: "soft", "mixed" e "hard" para você usar com o comando reset. 

  • Suave: volta para um commit anterior, mas mantém as alterações atuais em estágios, permitindo que você faça um novo commit mais tarde, quando necessário. 

git reset --soft HEAD~1

  • Misto: volta para um commit anterior e remove as alterações do commit atual da área do palco. No entanto, essas alterações não são afetadas em seu diretório de trabalho.

git reset --mixed HEAD~1

  • Difícil: Isso apontará para um commit anterior e removerá as atualizações do commit atual do diretório de trabalho e da área de preparação. 

git reset --hard HEAD~1

Você precisa desfazer alterações no Git? Explore as diferenças entre git reset e git revert em teste guia detalhado.

Armazenamento e limpeza do Git

Ao trabalhar com o Git, você pode precisar deixar de lado temporariamente as alterações sem confirmá-las ou limpar arquivos desnecessários que estejam obstruindo o repositório. É nesse ponto que os comandos de armazenamento e limpeza do Git são úteis.

git stash

Suponha que você queira ir para um estado anterior, mas não queira confirmar o progresso atual; você pode usar git stash. Isso salva temporariamente as alterações não confirmadas e redefine o diretório de trabalho para o último estado confirmado. 

git stash pop

Se você tiver armazenado algumas alterações no passado e quiser incluí-las em seu diretório de trabalho, use o comando git stash pop. Isso aplicará as últimas alterações armazenadas ao diretório atual e as removerá da lista de armazenamento. 

git clean

O comando git clean exclui arquivos não rastreados do repositório Git. Use o comando git clean -n para visualizar o que será excluído antes de executar o comando clear!

Você quer limpar seu histórico do Git? Saiba como combinar vários commits emem um só com este tutorial de squash do Git.

Configuração do Git e definições do usuário

O Git permite que você defina as configurações do usuário em diferentes níveis. Vamos explorá-los aqui.

git config

O comando git config permite que você personalize as configurações do Git de acordo com suas necessidades. Você pode definir as configurações em três níveis: local, sistema e global. 

  • Nível do sistema: É o nível de configuração mais amplo com acesso em nível de raiz.
  • Nível global: As configurações nesse nível são aplicadas a todos os repositórios do usuário atual.
  • Nível local: As configurações relevantes para o repositório Git atual podem ser personalizadas nesse nível. 

Esses são alguns comandos comuns do site git config:

  • git config -list: Exibe as configurações do Git de todos os níveis.
  • git config --global user.name "Your_name": Define o nome de usuário do Git para todos os repositórios no seu sistema como "Your_name".
  • git config --global user.email "your.email@example.com": Define o endereço de e-mail para todos os repositórios em seu sistema.

Sabemos que master é o branch principal padrão ao inicializar um repositório Git. Mas você pode renomeá-lo para o que quiser usando o seguinte comando:

git config --global init.defaultBranch "srujana_master"

No comando acima, substituímos o ramo mestre padrão por "srujana_master" no nível global (para todos os repositórios no sistema).

Você pode aplicar outras configurações de nível global. Por exemplo, para alterar seu editor de texto padrão para o VS code, execute o seguinte comando:

git config -global core.editor "code-w"

Você também pode criar seus próprios comandos Git. Por exemplo:

git config --global alias.slice branch

O comando acima cria um novo alias slice para branch. Portanto, se você quiser criar um novo ramo, poderá executar git slice branch_name em vez de git branch branch_name.

Resumo dos comandos do Git

Aqui está um resumo dos comandos do Git que exploramos para você ter sempre à mão:

Comando

Descrição

Exemplo de uso

git init

Inicializar um novo repositório Git.

git init

git clone

Clonar um repositório Git existente.

git clone

git status

Verificar o status dos arquivos no diretório de trabalho.

git status

git add

Adicione arquivos à área de preparação.

git add

git commit

Confirmar as alterações preparadas no repositório local.

git commit -m 'Commit message'

git remote add

Adicione uma conexão de repositório remoto.

git remote add origin

git push

Envie as alterações confirmadas para um repositório remoto.

git push origin

git pull

Obtenha e mescle alterações de um repositório remoto.

git pull origin

git fetch

Obter alterações de um repositório remoto sem mesclar.

git fetch origin

git branch

Liste, crie ou exclua filiais.

git branch

git checkout

Alternar entre ramificações ou restaurar arquivos (método mais antigo).

git checkout

git switch

Alternar entre ramificações (preferencialmente em versões mais recentes).

git switch

git merge

Mesclar alterações de uma ramificação em outra.

git merge

git rebase

Reaplique os commits de uma ramificação em outra para obter um histórico mais limpo.

git rebase

git log

Ver o histórico de confirmações.

git log

git diff

Mostre as diferenças entre os vários estados do repositório.

git diff

git reset

Desfazer alterações, redefinindo o HEAD para um estado anterior.

git reset --soft HEAD~1

git stash

Salvar temporariamente as alterações não confirmadas e redefinir o diretório de trabalho.

git stash

git stash pop

Aplique as últimas alterações armazenadas no diretório de trabalho.

git stash pop

git clean

Remover arquivos não rastreados do repositório.

git clean -n

git config

Defina as configurações do Git nos níveis do sistema, global ou local.

git config --global user.name 'Your Name'

Práticas recomendadas para usar o Git

Ao usar o Git de forma eficaz, você vai além do rastreamento de alterações - trata-se de manter um fluxo de trabalho limpo, estruturado e colaborativo. Seguir as práticas recomendadas ajuda a garantir que o repositório permaneça organizado, que o histórico de confirmações seja significativo e que o processo de desenvolvimento ocorra sem problemas.

Aqui estão alguns hábitos importantes que você deve adotar ao trabalhar com o Git:

  • Comprometa-se com frequência: Um dos principais objetivos do uso de um controle de versão como o Git é rastrear as alterações de forma eficaz ao longo do tempo. Quando você faz o commit de cada alteração separadamente, em vez de atualizar várias alterações juntas, é mais fácil entender o que foi modificado em cada commit posteriormente. 
  • Comprometa-se com mensagens claras: Toda vez que você fizer um compromisso, combine-o com uma mensagem clara que descreva o motivo desse compromisso. Na próxima vez que você rastrear os commits, será muito mais simples saber quais alterações cada commit fez no código. 
  • Use ramos: Para qualquer novo recurso ou correção de bug, crie uma ramificação, trabalhe nela e faça a mesclagem. Essa é a prática recomendada para separar o novo trabalho de desenvolvimento do projeto principal. 
  • Utilize o .gitignore: Um arquivo .gitignorecontém arquivos e diretórios relacionados ao projeto que você não precisa controlar. Normalmente, eles incluem artefatos de compilação gerados automaticamente, arquivos de registro, temporários e específicos da plataforma. Ignorando-os, você evitará logs desnecessários e versões de rastreamento, mantendo seu histórico limpo.

Conclusão

O Git é uma ferramenta poderosa para que você possa acompanhar as alterações, colaborar com outras pessoas e manter um fluxo de trabalho de desenvolvimento bem estruturado. Neste artigo, abordei os comandos essenciais do Git e as práticas recomendadas para ajudar você a gerenciar seus projetos com mais eficiência.

É claro que sempre há mais para aprender! Se você está apenas começando, confira Introdução ao Git para criar uma base sólida. Para aqueles que desejam aprimorar ainda mais suas habilidades, o Git Intermediário se aprofunda em técnicas e fluxos de trabalho avançados.

Você precisa de uma referência rápida do Git para projetos futuros? Mantenha os comandos essenciais à mão com esta folha de dicas do Git!

Aprenda hoje os fundamentos do Git

Para iniciantes: Controle de versão principal usando o Git.

Perguntas frequentes

Qual é a diferença entre o git pull e o git fetch?

git pull obtém as alterações de um repositório remoto e as mescla no ramo local, enquanto o git fetch baixa apenas as atualizações, permitindo que você as revise antes de fazer o merge.

Como faço para renomear uma ramificação do Git?

Para renomear o ramo atual:

git branch -m new-branch-name

Se você estiver renomeando um ramo diferente:

git branch -m old-branch-name new-branch-name

Como faço para excluir uma ramificação no Git?

Para excluir uma filial local:

git branch -d branch-name

Para excluir um ramo remoto:

git push origin --delete branch-name

Qual é a diferença entre o git merge e o git rebase?

git merge combina alterações de diferentes ramificações, preservando o histórico, enquanto o git rebase reescreve o histórico de commits para criar uma sequência linear mais limpa.

Posso desfazer um commit do git?

Sim! Para desfazer o último commit, mas manter as alterações na área de preparação:

git reset --soft HEAD~1

Para desfazer o último commit e remover as alterações da preparação:

git reset --mixed HEAD~1

Para descartar completamente as alterações:

git reset --hard HEAD~1

Como posso verificar em qual filial estou atualmente?

Você pode correr:

git branch --show-current

Ou simplesmente:

git status

Como faço para desfazer alterações em um único arquivo?

Para descartar as alterações não preparadas em um arquivo:

git checkout -- filename

Para reverter um arquivo para seu último estado de confirmação:

git restore filename

Como faço para listar todas as ramificações remotas em um repositório Git?

Use:

git branch -r

Como forçar o push de uma ramificação no Git?

Tenha cuidado ao forçar um push, pois ele substitui as alterações remotas:

git push --force origin branch-name

Como posso ver um histórico gráfico dos meus commits do Git?

Se você quiser uma visualização em forma de gráfico do seu histórico de commits:

git log --oneline --graph --all --decorate

Srujana Maddula's photo
Author
Srujana Maddula
LinkedIn

Srujana é redatora freelancer de tecnologia e tem um diploma de quatro anos em Ciência da Computação. Escrever sobre vários tópicos, incluindo ciência de dados, computação em nuvem, desenvolvimento, programação, segurança e muitos outros, é algo natural para ela. Ela gosta de literatura clássica e de explorar novos destinos.

Temas

Saiba mais sobre o Git com estes cursos!

curso

Introduction to Git

2 hr
16K
Discover the fundamentals of Git for version control in your software and data projects.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

blog

11 técnicas de visualização de dados para cada caso de uso com exemplos

Descubra as análises, técnicas e ferramentas mais populares para dominar a arte do assistente de visualização de dados
Javier Canales Luna's photo

Javier Canales Luna

12 min

tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

13 min

tutorial

Git Prune: O que é o Git Pruning e como usar o Git Prune

O Git prune é um comando do Git que remove objetos do repositório que não são mais acessíveis a partir de qualquer commit ou branch, ajudando a liberar espaço em disco.
François Aubry's photo

François Aubry

5 min

tutorial

Como escrever um script Bash: um tutorial simples de scripts Bash

Descubra os fundamentos da criação de scripts Bash e aprenda a escrever um script Bash.
Kurtis Pykes 's photo

Kurtis Pykes

5 min

Ver maisVer mais