O Git é uma ferramenta fundamental para o controle de versão de código. Este tutorial aborda os comandos principais que todo desenvolvedor deve conhecer para otimizar seu trabalho.

Inicializando um Repositório:
git init
: Este comando inicializa um novo repositório Git local em um diretório.
git init
Ele cria uma pasta oculta .git
que contém os metadados do repositório.

git clone <url>
: Clona um repositório Git existente de um servidor remoto (como GitHub, GitLab ou Bitbucket) para o seu computador local.
git clone https://github.com/usuario/repositorio.git
Gerenciando Alterações:
git status
: Exibe o estado atual do repositório, mostrando arquivos modificados, adicionados à área de staging e arquivos não rastreados.
git status
git add <arquivo>
: Adiciona um arquivo específico à área de staging (ou índice), preparando-o para ser incluído no próximo commit.
git add imagem.png
git add .
: É usado para adicionar todas as alterações em um ou vários outros arquivos.
git add .
git commit -m "Mensagem do commit"
: Cria um novo commit, que é um registro das alterações feitas. A mensagem do commit deve ser concisa e descritiva.
git commit -m "Adicionada nova funcionalidade"
git commit -am "Mensagem do commit"
: Combina os comandos git add
e git commit
em um só, adicionando todas as alterações rastreadas e criando um commit.
git commit -am "Correção de bug"
Trabalhando com Branches:
Comando usado para criar, listar e gerenciar branches, que são as ramificações de desenvolvimento do projeto, ou seja, Branches são ramos usados para separar diferentes fluxos de trabalho e facilitar o trabalho em equipe.
git branch
: Lista todas as branches locais. O asterisco (*) indica a branch atual.
git branch
git branch <nome_da_branch>
: Cria uma nova branch local.
git branch nova-funcionalidade
git checkout <nome_da_branch>
: Muda para uma branch existente.
git checkout develop
git checkout -b <nome_da_branch>
: Cria uma nova branch e muda para ela em um único comando.
git checkout -b feature/login
git merge <nome_da_branch>
: Mescla as alterações de uma branch na branch atual.
git merge feature/login
git branch -d <nome_da_branch>
: Exclui uma branch local (após ter sido mesclada). Use -D
para forçar a exclusão, mesmo que a branch não tenha sido mesclada.
git branch -d feature/login
Interagindo com Repositórios Remotos:
git remote add origin <url>
: Adiciona um repositório remoto com o nome “origin”.
git remote add origin https://github.com/usuario/repositorio.git
git push origin <nome_da_branch>
: Envia as alterações da sua branch local para o repositório remoto.
git push origin main
git pull origin <nome_da_branch>
: Baixa as alterações do repositório remoto para a branch em sua máquina local e as mescla automaticamente.
git pull origin develop
git fetch origin
: Baixa as alterações do repositório remoto, mas não as mescla automaticamente. Você pode então usar git merge origin/<nome_da_branch>
para mesclar as alterações.
git fetch origin
git merge origin/main
Desfazendo Alterações:
git reset <arquivo>
: Remove um arquivo da área de staging.
git reset arquivo.txt
git reset --hard <commit>
: Desfaz todas as alterações até o commit especificado, descartando as alterações locais. Use com cautela!
git reset --hard HEAD^ (volta um commit)
git reset --hard <hash_do_commit>
git revert <commit>
: Cria um novo commit que desfaz as alterações introduzidas pelo commit especificado, preservando o histórico.
git revert <hash_do_commit>
Inspecionando o Histórico:
git log
: Exibe o histórico de commits.
git log
git log --oneline
: Exibe o histórico de commits em uma linha, mostrando apenas o hash curto e a mensagem do commit.
git log --oneline
git diff
: Mostra as diferenças entre os arquivos no diretório de trabalho e a área de staging, ou entre commits.
git diff
git diff HEAD~2 HEAD (comparar entre commits)
Fluxo de Trabalho Básico:
- Clonar um repositório (
git clone
) ou inicializar um novo (git init
). - Criar uma nova branch para desenvolver uma funcionalidade (
git checkout -b <nome_da_branch>
). - Fazer as alterações nos arquivos.
- Adicionar as alterações à área de staging (
git add
). - Criar um commit (
git commit
). - Enviar as alterações para o repositório remoto (
git push
). - Criar um Pull Request (em plataformas como GitHub, GitLab ou Bitbucket) para revisão do código.
- Mesclar a branch na branch principal (
git merge
).
Este artigo abordou os principais comandos Git que todo desenvolvedor deve conhecer. Dominar esses comandos é fundamental para um fluxo de trabalho eficiente e colaborativo. Existem muitos outros comandos e recursos avançados do Git, mas este guia fornece uma base sólida para começar a usar essa poderosa ferramenta. Lembre-se de praticar e explorar a documentação oficial do Git para aprofundar seus conhecimentos.