Skip to content

Instantly share code, notes, and snippets.

@rodrigo-galba
Created November 7, 2025 23:48
Show Gist options
  • Select an option

  • Save rodrigo-galba/42630b75f9790f29b8e496815af254d8 to your computer and use it in GitHub Desktop.

Select an option

Save rodrigo-galba/42630b75f9790f29b8e496815af254d8 to your computer and use it in GitHub Desktop.
turma3-git

📝 Registro da Sessão com script

Para comprovar a execução completa de cada laboratório:

  1. Antes de iniciar os comandos, digite:
script lab2-sessaoN.txt

(Substitua N pelo número do laboratório.)

  1. Realize todos os passos normalmente.

  2. Ao final, digite:

exit

Isso salvará um log da sessão, que pode ser entregue.


🧪 Laboratório 2.1: Branches main, test, prod

🎯 Objetivo:

Praticar criação e fusão de branches, simular conflitos e resolvê-los de forma segura.

🎬 Início da Sessão

script lab2-sessao1.txt

Com o repositório da aula 1:

  1. Crie os branches:
git branch test
git branch prod
  1. No main, adicione:
echo "v2 main" >> app.txt
git commit -am "v2 main"
  1. Promova para test e depois prod:
git checkout test
git merge main

git checkout prod
git merge test
  1. Volte ao main e continue:
git checkout main
echo "v3 main" >> app.txt
git add .
git commit -am "v3 main"
  1. Ver branches:
git branch
  1. Ver histórico:
git log --oneline --all

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao1.txt.


🧪 Laboratório 2.2: Merging e Conflitos

🎯 Objetivo:

Praticar criação e fusão de branches, simular conflitos e resolvê-los de forma segura.

🎬 Início da Sessão

script lab2-sessao2.txt
git checkout -b feature-a
echo "linha A" > arquivo.txt
git add .
git commit -m "Feature A"

git checkout main
git checkout -b feature-b
echo "linha B" > arquivo.txt
git add .
git commit -m "Feature B"
git checkout main
git merge feature-a   # deve funcionar
git merge feature-b   # gerará conflito
git status            # mostra status do merge

Resolva o conflito:

  • Edite arquivo.txt e escolha a versão correta.
  • Em seguida:
git add arquivo.txt
git commit -m "Resolve conflito entre A e B"

Visualize o histórico:

git log --oneline --all

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao2.txt.


🧪 Laboratório 2.3: Resolvendo Conflitos parte 2

🎬 Início da Sessão

script lab2-sessao3.txt

  1. Crie um novo arquivo:
echo "linha 1" > arquivo.txt
git add arquivo.txt
git commit -m "Primeiro commit"
  1. Crie três branches:
git branch branch1
git branch branch2
git branch branch3
git branch           # lista todos os branches
  1. Faça alterações conflitantes:
git checkout branch1
echo "linha 2 na branch1" >> arquivo.txt
git commit -am "Commit na branch1"

git checkout branch2
echo "linha 2 na branch2" >> arquivo.txt
git commit -am "Commit na branch2"

git checkout branch3
echo "linha 2 na branch3" >> arquivo.txt
git commit -am "Commit na branch3"
  1. Tente mesclar:
git checkout main
git merge branch1   # sem conflito
git merge branch2   # com conflito
git status
git merge branch3
  1. Resolva os conflitos:
git status
# Edite os arquivos com <<<<<<< HEAD
nano arquivo.txt
git add arquivo.txt
git commit -m "Resolvido conflito"
  1. Tente mesclar:
git branch         # mostra branch atual (main)
git merge branch3
  1. Resolva os conflitos:
git status
# Edite os arquivos com <<<<<<< HEAD
nano arquivo.txt
git add arquivo.txt
git commit -m "Resolvido conflito"
git status
  1. Visualize o histórico:
git log --oneline --all

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao3.txt.


🧪 Laboratório 2.4: Configurando .gitignore para Variáveis de Ambiente

🎬 Início da Sessão

script lab2-sessao4.txt

  1. Crie o arquivo .env:
touch .env
  1. Adicione ao .gitignore:
echo ".env" >> .gitignore
  1. Verifique que .env será ignorado:
git status
cat .gitignore
  1. Faça commit do arquivo
git add .gitignore
git commit -am 'configurando ignore'
  1. Visualize o histórico:
git log --oneline --all

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao4.txt.

🧪 Laboratório 2.5: Merge vs Rebase

🎯 Objetivo:

Entender a diferença entre merge e rebase na prática.

🎬 Início da Sessão

script lab2-sessao5.txt

1️⃣ Crie uma nova branch a partir do main:

git checkout -b feature
echo "linha feature" > arquivo.txt
git add arquivo.txt
git commit -m "commit na feature"
git branch

2️⃣ Volte ao main e adicione outra linha:

git checkout main
echo "linha main" > arquivo.txt
git add arquivo.txt
git commit -m "commit no main"
git branch

3️⃣ Merge (aborta merge):

git checkout feature
git merge main
git status
git merge --abort

4️⃣ Rebase (reescreve o histórico):

git reset --hard HEAD~1   # apaga ultimo commit do branch atual (feature)
git rebase main

🔍 Visualizar o histórico:

git log --oneline --all

💡 Compare a diferença visual no histórico com e sem merge.

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao5.txt.


🧪 Laboratório 2.6: Rebase entre Branches

🎬 Início da Sessão

script lab2-sessao6.txt

  1. Inicie um repositório e adicione um arquivo:
git checkout main
echo "linha base" > arquivo.txt
git add .
git commit -m "commit base"
  1. Crie dois branches com alterações diferentes:
git checkout -b feature-123
echo "mudança A" >> arquivo.txt
git commit -am "Alteração no branch A"

git checkout main
git checkout -b feature-456
echo "mudança B" >> arquivo.txt
git commit -am "Alteração no branch B"
  1. Faça rebase do feature-123 sobre feature-456:
git checkout feature-123
git rebase feature-456
  1. Caso ocorra conflito, edite arquivo.txt, resolva e finalize:
# Editar arquivo.txt manualmente
nano arquivo.txt
git add arquivo.txt
git rebase --continue
  1. Verifique o histórico para entender a diferença entre rebase e merge:
git log --oneline --all

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab2-sessao6.txt.


🧪 Laboratório: Instalando e Utilizando o GitHub Desktop

  1. Instalando o GitHub Desktop:

    • Acesse o site oficial do GitHub Desktop em https://desktop.github.com.
    • Faça o download da versão adequada para o seu sistema operacional (Windows ou macOS).
    • Siga as instruções de instalação fornecidas pelo instalador.
    • Após a instalação, abra o GitHub Desktop.
  2. Configurando o Repositório:

    • No GitHub Desktop, clique em "File" (Arquivo) e selecione "Add Local Repository" (Adicionar Repositório Local).
    • Navegue até o diretório do seu projeto e selecione a pasta que contém o repositório.
    • Clique em "Add Repository" (Adicionar Repositório) para adicionar o repositório ao GitHub Desktop.
  3. Configurando Nome de Autor e Email:

    • No GitHub Desktop, clique em "File" (Arquivo) e selecione "Options" (Opções).
    • Na guia "Git", preencha os campos "Name" (Nome) e "Email" (Email) com as suas informações.
    • Clique em "Save" (Salvar) para salvar as configurações.
  4. Realizando Commits:

    • No GitHub Desktop, você verá uma lista de arquivos modificados no seu repositório.
    • Selecione os arquivos que deseja incluir no commit, marcando as caixas de seleção ao lado deles.
    • Digite uma mensagem descritiva para o commit no campo "Summary" (Resumo).
    • Clique em "Commit to master" (Commitar para o master) para realizar o commit.
  5. Sincronizando com o Repositório Remoto:

    • Após realizar commits locais, você pode sincronizar as alterações com o repositório remoto.
    • Clique em "Repository" (Repositório) e selecione "Push" (Enviar).
    • O GitHub Desktop enviará as alterações para o repositório remoto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment