Skip to content

Instantly share code, notes, and snippets.

@rodrigo-galba
Created November 8, 2025 12:52
Show Gist options
  • Select an option

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

Select an option

Save rodrigo-galba/b8c1a8cf8d93c083dd798f08874fa9c0 to your computer and use it in GitHub Desktop.
aula3

🧪 Laboratório 3.0: Publicando um Repositório no GitHub

🎯 Objetivo:

Aprender a publicar no GitHub um repositório Git local já existente, utilizando os comandos git remote, git push e git clone.


🎬 Início da Sessão

script lab3-sessao0.txt

📋 Passos:

  1. Acesse o repositório criado no Lab 1:
cd ~/projeto-git  # ou o caminho usado no Lab 1
  1. Acesse https://github.com/new e crie um novo repositório vazio (sem README).

  2. Adicione o repositório remoto:

git remote add origin https://github.com/SEU_USUARIO/NOME_DO_REPO.git
  1. Faça o push da branch principal:
git push -u origin main
  1. Verifique a origem remota:
git remote -v

📂 Clonando um Repositório do GitHub

  1. Crie um diretório separado para o clone:
cd ..
git clone https://github.com/SEU_USUARIO/NOME_DO_REPO.git projeto-clonado
cd projeto-clonado
  1. Verifique o conteúdo clonado:
ls -la

🛑 Final da Sessão

exit

Envie o arquivo lab3-sessao0.txt como evidência da execução.


🧪 Laboratório Avançado 3.1: Criando e Explorando Tags

🎯 Objetivo:

Entender e aplicar o comando git tag para marcar versões específicas no histórico do repositório.


🎬 Início da Sessão

script lab3-sessao1.txt

📋 Passos:

  1. Crie três commits consecutivos:
echo "linha 1" > log.txt
git add log.txt
git commit -m "Commit 1"

echo "linha 2" >> log.txt
git commit -am "Commit 2"

echo "linha 3" >> log.txt
git commit -am "Commit 3"
  1. Liste o histórico resumido:
git log --oneline
  1. Crie tags em cada commit:
git tag v1.0 HEAD~2     # Tag no primeiro commit
git tag v1.1 HEAD~1     # Tag no segundo commit
git tag v1.2 HEAD       # Tag no terceiro commit
  1. Liste todas as tags:
git tag
  1. Visualize o commit associado a uma tag:
git show v1.1
  1. Faça checkout de uma tag (modo detached):
git checkout v1.0
  1. Retorne à branch principal:
git checkout main

🛑 Final da Sessão

exit

Envie o arquivo lab3-sessao1.txt como evidência da execução.


🧪 Laboratório Avançado 3.2: Automação com Git Hooks

🎯 Objetivo:

Criar e testar um pre-commit hook para bloquear commits com a palavra "TODO" no código.


🎬 Início da Sessão

script lab3-sessao2.txt

📋 Passos:

  1. No seu repositório, verifique o diretório de hooks:
ls .git/hooks
  1. Crie o hook pre-commit:
nano .git/hooks/pre-commit

Cole o conteúdo abaixo:

#!/bin/bash
if grep -r "TODO" *.py; then
  echo "❌ Commit bloqueado: remova TODOs do código."
  exit 1
fi
  1. Torne o script executável:
chmod +x .git/hooks/pre-commit
  1. Teste o hook:
echo "TODO: ajustar validação" > app.py
git add app.py
git commit -m "teste"
  1. Remova o TODO e repita:
echo "Código limpo" > app.py
git add app.py
git commit -m "commit limpo"

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao2.txt.


🧪 Laboratório 3.3: Utilizando o comando git reset --soft

🎬 Início da Sessão

script lab3-sessao3.txt

📋 Passos:

  1. Certifique-se de que está no branch correto.
git branch # main
  1. Crie um novo branch para testes
git log --oneline
git checkout -b test-reset
  1. Desfaça um commit (mantendo as alterações):
git reset --soft HEAD~1
  1. Verifique o status:
git status
git diff
  1. Faça commit novamente
git add .
git commit -m 'agora vai'

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao3.txt.


🧪 Laboratório 3.4: Utilizando o comando git reset --hard

🎬 Início da Sessão

script lab3-sessao4.txt

📋 Passos:

  1. Certifique-se de que está no branch correto.
git branch # main
  1. Visualize o histórico:
git log
git checkout -b test_hard
  1. Desfaça um commit definitivamente:
git reset --hard HEAD~1
  1. Verifique o status:
git status

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao4.txt.


🧪 Laboratório 3.5: Utilizando o comando git revert

🎬 Início da Sessão

script lab3-sessao5.txt

📋 Passos:

  1. Certifique-se de que está no branch correto.
git branch # main
  1. Visualize o histórico:
git log
git checkout -b test_revert
  1. Reverta um commit:
git revert HEAD~1
  1. Verifique se o novo commit de reversão foi criado:
git log
  1. Faça ajustes adicionais, se necessário.

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao5.txt.


🧪 Laboratórios Avançados com git tag

💡 Introdução

Estes laboratórios complementam o uso de git tag abordando tags anotadas, exclusão e recriação, push para repositórios remotos e criação de branches a partir de tags.


🧪 Laboratório 3.6: Criando Tags Anotadas

🎬 Início da Sessão

script lab3-sessao6.txt

📋 Passos:

  1. Crie um commit de exemplo:
echo "versão com nota" >> versao.txt
git add versao.txt
git commit -m "Commit com anotação de versão"
  1. Crie uma tag anotada:
git tag -a v2.0 -m "Versão 2.0 com melhorias"
  1. Liste as tags com detalhes:
git show v2.0
  1. Verifique se é anotada:
git tag -n

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao6.txt.


🧪 Laboratório 3.7: Deletando e Recriando Tags

🎬 Início da Sessão

script lab3-sessao7.txt

📋 Passos:

  1. Crie uma tag leve:
git tag hotfix
  1. Verifique sua criação:
git tag
  1. Delete a tag:
git tag -d hotfix
  1. Recrie como anotada:
git tag -a hotfix -m "Hotfix anotado"
git show hotfix

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao7.txt.


🧪 Laboratório 3.8: Enviando Tags para o Repositório Remoto

🎬 Início da Sessão

script lab3-sessao8.txt

📋 Passos:

  1. Crie uma tag local:
git tag release-1.0
  1. Envie somente a tag:
git push origin release-1.0
  1. Envie todas as tags de uma vez:
git push origin --tags

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao8.txt.


🧪 Laboratório 3.9: Checkout e Branch a Partir de uma Tag

🎬 Início da Sessão

script lab3-sessao9.txt

📋 Passos:

  1. Liste suas tags:
git tag
  1. Faça checkout de uma tag:
git checkout v1.1
  1. Crie um branch novo a partir da tag:
git switch -c branch-v1.1
  1. Faça alterações:
echo "patch para v1.1" >> changelog.txt
git add . && git commit -m "patch para versão 1.1"

🛑 Final da Sessão

exit

Adicione o arquivo no Git lab3-sessao9.txt.

Perfeito! Aqui está a versão ajustada do laboratório, presumindo que o repositório local já foi criado no Lab 1:


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