Git & GitHub Sem Enrolação: 15 Snippets Práticos de Terminal

Git & GitHub Sem Enrolação: 15 Snippets Práticos de Terminal

Explicação -> Código -> Resultado:

1. Iniciar repositório e conectar ao GitHub

Cria o repositório local, aponta para o GitHub e faz o primeiro envio da branch principal.

Bash

git init
git branch -M main
git remote add origin https://github.com/seu-usuario/seu-repositorio.git
git push -u origin main

Resultado: O diretório local passa a ser monitorado pelo Git e fica sincronizado com o repositório remoto.

2. Salvar alterações no histórico (add, commit, push)

Adiciona arquivos modificados à área de preparação, grava a mensagem de histórico e envia para o GitHub.

Bash

git add .
git commit -m "feat: adiciona tela de login"
git push origin main

Resultado: As alterações ficam salvas no histórico do projeto e atualizadas na nuvem.

3. Criar e alternar entre Branches (checkout / switch)

Permite desenvolver novas funcionalidades em paralelo sem afetar o código principal que está rodando.

Bash

# Cria e entra na nova branch
git checkout -b feature/nova-tela

# Para voltar para a branch principal depois:
git checkout main

Resultado: Você trabalha isolado na feature/nova-tela sem risco de quebrar a branch main.

4. Atualizar código local com o servidor (pull vs fetch)

O fetch apenas baixa as novidades para análise; o pull baixa e aplica as alterações diretamente no seu código local.

Bash

# Baixa as novidades sem alterar seus arquivos
git fetch origin

# Baixa e mescla automaticamente com sua branch atual
git pull origin main

Resultado: Seu ambiente local fica totalmente atualizado com as últimas edições feitas pela equipe.

5. Resolvendo conflitos de Merge

Acontece quando duas pessoas alteram a mesma linha. O Git marca o arquivo para você escolher qual versão manter.

Bash

# Se houver conflito após o merge, abra o arquivo e ajuste as marcas:
<<<<<<< HEAD
console.log("Sua alteração local");
=======
console.log("Alteração que veio do GitHub");
>>>>>>> main

# Após editar o arquivo fixando o código correto:
git add .
git commit -m "fix: resolve conflito de merge"

Resultado: O arquivo final fica consolidado com a versão correta e o merge é concluído.

6. Descartar alterações locais não salvas (restore)

Limpa modificações feitas nos arquivos locais voltando ao exato estado do último commit.

Bash

# Descarta alterações em um arquivo específico
git restore script.js

# Descarta todas as alterações não salvas no projeto inteiro
git restore .

Resultado: Reverte rascunhos ou testes indesejados sem precisar apagar código manualmente.

7. Desfazer commits (reset vs revert)

O reset --soft desfaz o commit mantendo o código no seu editor. O revert cria um novo commit invertendo as alterações.

Bash

# Volta 1 commit atrás mantendo suas alterações salvas na máquina
git reset --soft HEAD~1

# Cria um novo commit seguro desfazendo o commit informado (ideal para repositórios públicos)
git revert a1b2c3d

Resultado: Corrigem erros de envios anteriores preservando a integridade do repositório.

8. Ignorar arquivos sensíveis com .gitignore

Evita que pastas pesadas (node_modules) ou arquivos com senhas (.env) subam para o GitHub.

Bash

# Crie o arquivo .gitignore na raiz do projeto e adicione:
node_modules/
.env
dist/
*.log

Resultado: O Git ignora automaticamente esses arquivos em comandos como git add ..

9. Salvar alterações temporárias com git stash

Guarda seu trabalho em andamento em um “porta-objetos” para que você possa trocar de branch sem fazer commit.

Bash

# Salva as alterações pendentes no stash
git stash

# Troque de branch, faça o que precisa e depois recupere seu trabalho:
git stash pop

Resultado: Seu código volta ao estado em que estava sem precisar gerar commits incompletos no histórico.

10. Estrutura base para um README.md de impacto

Arquivo de documentação exibido na página principal do repositório no GitHub.

Markdown

# Nome do Projeto
> Breve descrição do que a aplicação faz.

## 🚀 Como executar
```bash
npm install
npm run dev

🛠️ Tecnologias

  • JavaScript
  • Node.js
**Resultado:** Apresenta o projeto de forma clara e profissional para recrutadores e outros desenvolvedores.

---

### 11. Aplicando alterações limpas com `git rebase`
Reorganiza o histórico alinhando seus commits após a branch principal, mantendo uma linha do tempo linear.

```bash
git checkout feature/sua-branch
git rebase main

Resultado: Evita a criação de commits desnecessários de “Merge branch ‘main'” no seu histórico.

12. Criar Pull Request (PR) via linha de comando (gh cli)

Permite abrir a solicitação de análise de código no GitHub sem sair do terminal.

Bash

# Envia a branch e abre o PR via GitHub CLI
git push origin feature/nova-tela
gh pr create --title "Adiciona nova tela" --body "Detalhes das alterações feitas."

Resultado: O Pull Request é criado automaticamente no repositório do GitHub para revisão.

13. Configurando autenticação por chave SSH

Elimina a necessidade de digitar usuário e senha a cada git push ou git pull.

Bash

# Gera a chave SSH
ssh-keygen -t ed25519 -C "seu-email@dominio.com"

# Exibe a chave pública para copiar e colar nas configurações do GitHub:
cat ~/.ssh/id_ed25519.pub

Resultado: O terminal passa a se autenticar com o GitHub de forma criptografada e automática.

14. Criando e enviando marcas de versão com git tag

Registra pontos específicos no histórico do projeto para indicar versões estáveis (releases).

Bash

# Cria uma tag anotada de versão
git tag -a v1.0.0 -m "Versão 1.0.0 pronta para produção"

# Envia a tag para o GitHub
git push origin v1.0.0

Resultado: O GitHub gera automaticamente um pacote de download da release na aba “Releases”.

15. Recuperando commits “perdidos” com git reflog

Mostra o histórico completo de ações do terminal, permitindo resgatar commits excluídos por engano em um reset.

Bash

# Lista todas as ações do repositório
git reflog

# Recupere o estado do código usando o código identificador retornado (ex: HEAD@{2})
git reset --hard HEAD@{2}

Resultado: Restaura instantaneamente o código para o ponto exato antes do erro ser cometido.

Thales de Oliveira Gomes

Thales de Oliveira Gomes é gestor de Tecnologia da Informação, especialista em infraestrutura de redes, computação em nuvem e operações de TI hospitalar, com mais de 18 anos de experiência na área. Graduado em Gestão de TI e pós-graduado em Engenharia de Redes e Telecomunicações, Cloud Computing, Redes de Computadores e Gestão Hospitalar, construiu uma trajetória sólida liderando projetos de alta complexidade, como a implementação e migração para nuvem de sistemas ERP de grande porte. Sua atuação no setor o levou a ser indicado ao prêmio IT Leaders Brasil na categoria Rising Leaders. Além da carreira corporativa e da paixão por tecnologia, Thales é autor independente com mais de 70 obras publicadas sobre redes, segurança da informação, Linux e física, além de criador de conteúdo no blog Vetor Tech e na plataforma CiberDicas. No universo das artes e do entretenimento, atua como produtor de música eletrônica sob o projeto Yknex, cria ilustrações digitais e compartilha walkthroughs de games no YouTube.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *