Folha de Dicas Essencial do Git: Comandos, Fluxo de Trabalho e Melhores Práticas
Git é o sistema de controle de versão mais amplamente utilizado no mundo. Seja você um desenvolvedor individual ou parte de uma grande equipe, dominar o Git é essencial para gerenciar seu histórico de código e colaborar de forma eficaz.
Use esta folha de dicas como uma referência rápida para comandos e fluxos de trabalho comuns do Git.
1. Fluxo de Trabalho Básico
O ciclo principal para fazer alterações e salvá-las em seu repositório.
| Comando | Descrição | Exemplo |
|---|---|---|
git init |
Inicializa um novo repositório Git local | git init |
git clone |
Cria uma cópia de um repositório remoto | git clone [url] |
git add |
Prepara alterações para o próximo commit (stage) | git add . (adiciona tudo) |
git commit |
Salva as alterações preparadas no histórico | git commit -m "feat: login" |
git status |
Mostra o estado do diretório de trabalho | git status |
git push |
Envia commits locais para o remoto | git push origin main |
git pull |
Busca e mescla alterações do remoto | git pull origin main |
git fetch |
Baixa alterações do remoto (sem mesclar) | git fetch origin |
2. Ramificação (Branching) e Mesclagem (Merging)
As ramificações permitem que você trabalhe em diferentes recursos ou correções de forma isolada.
- Criar Branch:
git branch [nome] - Mudar de Branch:
git checkout [nome](ougit switch [nome]) - Criar e Mudar:
git checkout -b [nome] - Mesclar Branch:
git merge [nome](mescla [nome] no branch atual) - Rebase de Branch:
git rebase [nome](reaplica commits no topo do [nome]) - Excluir Branch:
git branch -d [nome]
3. Desfazendo Alterações
Como corrigir erros ou reverter para um estado anterior.
- Reverter Commit:
git revert [commit-hash](cria um novo commit desfazendo as alterações) - Reset (Soft):
git reset --soft HEAD~1(desfaz o commit, mantém as alterações preparadas) - Reset (Hard):
git reset --hard HEAD~1(desfaz o commit e exclui as alterações! Cuidado) - Stash de Alterações:
git stash(oculta temporariamente alterações não commitadas) - Pop de Stash:
git stash pop(traz de volta as alterações do stash)
4. Inspeção e Depuração
Ferramentas para visualizar o histórico e encontrar bugs.
| Comando | Descrição |
|---|---|
git log |
Mostra o histórico de commits |
git diff |
Mostra alterações entre commits ou árvore de trabalho |
git blame [arquivo] |
Mostra quem alterou cada linha em um arquivo |
git show [commit] |
Mostra detalhes de um commit específico |
git bisect |
Usa busca binária para encontrar o commit que introduziu um bug |
Perguntas Comuns (FAQ)
Q: Merge vs Rebase: Qual devo usar?
A: Merge cria um novo "commit de mesclagem" e preserva o histórico completo e a cronologia. Rebase reescreve o histórico ao mover seus commits para a ponta do branch de destino, criando um histórico linear e mais limpo. Regra de ouro: Nunca faça rebase em branches públicos; use-o para limpeza local antes de enviar (push).
Q: Como corrijo um conflito de mesclagem?
A: Quando ocorre um conflito, o Git marcará os arquivos. 1. Abra o arquivo e procure por <<<<<<<, ======= e >>>>>>>. 2. Edite o código para manter o que você deseja. 3. git add [arquivo]. 4. git commit.
Q: O que é um "detached HEAD"?
A: Significa que você fez o checkout de um commit ou tag específica em vez de um branch. Você não está em nenhum branch. Quaisquer novos commits serão perdidos se você sair sem criar um novo branch. Para salvar as alterações: git checkout -b novo-nome-do-branch.
Q: Quais são as melhores práticas para o .gitignore?
A: Sempre ignore segredos de ambiente (.env), artefatos de build (dist/, build/), pastas de dependências (node_modules/) e arquivos específicos do SO (.DS_Store). Use modelos da comunidade (como os do GitHub) para sua linguagem ou framework específico.
Relacionado no Tool3M
- Página Inicial: Descubra mais ferramentas para desenvolvedores e referências para aumentar sua produtividade.