
11 comandos do Git mais usados no dia a dia
| 14/09/26Aprenda os principais comandos Git, como git init, clone, status, add, commit, branch, pull e push, com exemplos práticos
Aprenda os principais comandos Git, como git init, clone, status, add, commit, branch, pull e push, com exemplos práticos
Em resumo:
O Git é um sistema de controle de versão distribuído, criado por Linus Torvalds em 2005, que permite registrar o histórico de alterações de um projeto e possibilita que várias pessoas colaborem no mesmo código sem sobrescrever o trabalho umas das outras.
Por ser distribuído, cada pessoa que clona um repositório mantém uma cópia completa do histórico em sua própria máquina, o que permite trabalhar offline e sincronizar as mudanças posteriormente.
Este guia reúne os principais comandos para quem deseja versionar, da configuração inicial até a sincronização com um repositório remoto.

Os comandos abaixo cobrem o fluxo de trabalho com Git: configurar a ferramenta, criar ou copiar um repositório, verificar o que mudou, preparar e registrar alterações, consultar o histórico, trabalhar com branches e sincronizar com um repositório remoto.
Antes do primeiro commit, é preciso informar ao Git quem está fazendo as alterações. Isso é feito uma única vez por máquina com os comandos `git config –global user.name “seu-nome”` e `git config –global user.email “seu-email@exemplo.com”`. Substitua `seu-nome` e `seu-email@exemplo.com` pelos dados reais que devem identificar os commits.
O comando `git init` transforma uma pasta comum em um repositório Git, criando a estrutura interna necessária para rastrear alterações. Ele é usado uma única vez, no momento em que um projeto começa a ser versionado, e não exige parâmetros adicionais para o uso básico.
Para trabalhar em um projeto que já existe em um repositório remoto, o comando é `git clone endereco-do-repositorio`. O trecho `endereco-do-repositorio` deve ser substituído pelo link real do repositório, geralmente copiado da plataforma que o hospeda. Esse comando baixa todo o histórico e cria uma cópia local completa do projeto.
O comando `git status` mostra quais arquivos foram modificados, quais estão preparados para o próximo commit e quais ainda não estão sendo rastreados pelo Git. É o comando mais usado para se situar antes de decidir o próximo passo, e pode ser executado quantas vezes forem necessárias, sem qualquer risco, pois apenas exibe informações.
`git add` e `git commit` trabalham em conjunto e formam a unidade básica do versionamento: o comando `git add caminho-do-arquivo` move as alterações de um ou mais arquivos para a área de staging, que funciona como uma lista de mudanças prontas para serem registradas; o comando `git commit -m “sua-mensagem-descritiva”` grava essas mudanças no histórico do repositório, junto com uma mensagem explicando o que foi feito. Para adicionar todos os arquivos alterados de uma vez, usa-se `git add .`, mas revisar o que será incluído com `git status` antes evita registrar arquivos indesejados.
O comando `git log` lista o histórico de commits do repositório, mostrando autor, data e mensagem de cada alteração registrada. Esse histórico é fundamental para auditar decisões, revisar o que foi feito em determinado ponto do projeto e entender como o código evoluiu ao longo do tempo. Para uma visão mais compacta, é comum usar `git log –oneline`, que resume cada commit em uma única linha.
Uma branch é uma linha paralela de desenvolvimento, útil para testar uma funcionalidade sem afetar o código principal. O comando `git branch nome-da-branch` cria uma nova branch, enquanto `git branch` sem argumento lista as branches existentes. Para mudar de uma branch para outra, usa-se `git checkout nome-da-branch`; em versões mais recentes do Git, o comando `git switch nome-da-branch` cumpre a mesma função de forma mais específica.
Quando o repositório está conectado a um remoto (geralmente configurado no momento do `git clone`), duas ações mantêm o trabalho sincronizado: `git pull` busca e baixa as alterações mais recentes feitas por outras pessoas, integrando-as ao repositório local; `git push` envia os commits registrados localmente para o repositório remoto, tornando-os visíveis para quem colabora no projeto. Executar `git pull` antes de começar a trabalhar reduz a chance de conflitos ao tentar enviar alterações depois.

A tabela abaixo resume os comandos apresentados, incluindo o momento de uso e os cuidados que merecem atenção antes de serem executados.
| Comando | Função | Quando usar | Atenção |
|---|---|---|---|
| git config | Define nome e e-mail do autor dos commits | Uma vez, na configuração inicial da máquina | Sem risco; afeta apenas a identificação dos commits |
| git init | Cria um repositório Git em uma pasta | Ao iniciar o versionamento de um projeto novo | Não sobrescreve arquivos já existentes na pasta |
| git clone | Copia um repositório remoto para a máquina local | Ao começar a trabalhar em um projeto já existente | Requer o endereço correto do repositório |
| git status | Mostra o que foi alterado, preparado ou não rastreado | Antes de decidir o próximo passo | Apenas exibe informações, não altera nada |
| git add | Move alterações para a área de staging | Antes de registrar um commit | Adicionar tudo com um ponto pode incluir arquivos indesejados |
| git commit | Registra as alterações preparadas no histórico | Depois do git add, ao concluir uma mudança lógica | Mensagens vagas dificultam a consulta futura ao histórico |
| git log | Lista o histórico de commits | Para auditar ou entender a evolução do projeto | Histórico extenso pode exigir o uso de –oneline para leitura rápida |
| git branch | Cria ou lista branches | Ao iniciar uma linha de trabalho paralela | Branches esquecidas acumulam e dificultam a organização |
| git checkout | Alterna entre branches existentes | Ao mudar o foco de trabalho | Alterações não commitadas podem impedir a troca de branch |
| git pull | Baixa e integra alterações do repositório remoto | Antes de começar a trabalhar ou antes de um git push | Pode gerar conflitos que exigem resolução manual |
| git push | Envia commits locais para o repositório remoto | Ao concluir e querer compartilhar uma alteração | Enviar para a branch errada pode afetar outras pessoas do projeto |
`git merge` combina o histórico de duas branches criando um commit de merge que preserva a origem das alterações, enquanto `git rebase` reescreve o histórico da branch atual para posicioná-la como se tivesse sido criada a partir do ponto mais recente da branch de destino, resultando em um histórico linear. A escolha entre os dois depende de preferência de organização do histórico do projeto e de convenções da equipe.
Depende do estágio do commit. Se ele ainda não foi enviado ao repositório remoto, `git reset` permite desfazer o commit mantendo ou descartando as alterações, dependendo da opção usada. Se o commit já foi enviado com `git push`, a alternativa mais segura costuma ser `git revert`, que cria um novo commit desfazendo as mudanças sem reescrever o histórico compartilhado.
Um detached HEAD ocorre quando o repositório está posicionado diretamente em um commit específico, em vez de estar na ponta de uma branch. Isso é comum ao usar `git checkout` apontando para um commit antigo em vez de uma branch. Qualquer novo commit criado nesse estado pode ser perdido se não for associado a uma branch antes de trocar de contexto.
É possível reverter o efeito de um `git push` usando um novo commit com `git revert` e enviando essa correção, mas apagar o histórico remoto diretamente com um push forçado é uma operação sensível, porque pode sobrescrever o trabalho de outras pessoas que já sincronizaram a versão anterior. Por isso, esse tipo de ação deve ser combinado com quem colabora no projeto antes de ser executada.
`git pull` executa duas ações em sequência: primeiro busca as alterações do repositório remoto, o que também é feito isoladamente por `git fetch`, e depois integra essas alterações à branch local automaticamente. `git fetch`, por outro lado, apenas baixa as informações do remoto sem alterar o trabalho local, permitindo revisar o que mudou antes de decidir integrar.
Não. `git clone` já cria um repositório Git completo, com todo o histórico do projeto original, incluindo a estrutura interna que o `git init` criaria manualmente. O `git init` só é necessário quando o projeto ainda não existe em nenhum repositório remoto e o versionamento começa do zero.
Arquivos que não devem ser versionados podem ser listados em um arquivo chamado `.gitignore`, na raiz do repositório, com um padrão por linha, como nome de pasta, extensão de arquivo ou caminho específico. O Git passa a ignorar automaticamente qualquer arquivo que corresponda a esses padrões nas próximas verificações de status.
Se você quer ingressar ou crescer no mercado de tecnologia, a Allevo Tech oferece formações práticas em áreas de alta demanda, como Engenharia de Software, Ciência de Dados e Inteligência Artificial.
As trilhas são estruturadas para desenvolver competências técnicas e preparar você para os desafios do mercado de trabalho.
Clique no botão abaixo e conheça as formações da Allevo Tech que podem impulsionar a sua trajetória profissional.


Aprenda os principais comandos Git, como git init, clone, status, add, commit, branch, pull e push, com exemplos práticos

Conheça 10 filmes sobre IA, de clássicos como Matrix e 2001 a produções recentes, e entenda como o cinema imagina o futuro da inteligência artificial.

Resolva 10 exercícios de Python para iniciantes sobre variáveis, operadores, condicionais, laços, listas, strings e funções