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.


