Extra — Git avançado

Objectivo: sair de “commit/push” e dominar o que salva o dia: conflitos, desfazer, guardar trabalho a meio. Pré-requisito: M1 (Versionar e colaborar).


1. Guardar trabalho a meio — stash

git stash            # guarda as alterações e limpa a área de trabalho
git stash pop        # traz de volta

Útil quando precisas de mudar de branch sem comitar.

2. Juntar trabalho — merge vs rebase

  • merge — junta duas branches criando um commit de junção (histórico ramificado).
  • rebase — “reaplica” os teus commits por cima dos outros (histórico linear, mais limpo).
git checkout main
git merge nova-funcionalidade

Regra simples para começar: usa merge. rebase quando já estiveres confortável.

3. Resolver conflitos

Quando dois lados mudam a mesma linha, o Git marca:

<<<<<<< HEAD
o meu texto
=======
o texto do outro
>>>>>>> branch

Editas, ficas com a versão certa, apagas as marcas, e:

git add ficheiro
git commit

4. Desfazer — com segurança

git revert <commit>   # cria um commit que anula outro (seguro, mantém histórico)
git reset --soft HEAD~1   # desfaz o último commit, guarda as alterações

Cuidado com reset --hard — apaga alterações. Na dúvida, revert.

5. Tags (versões)

git tag v1.0.0
git push --tags

✅ Exercício

Cria uma branch, muda a mesma linha que mudaste na main, faz merge e resolve o conflito à mão.

🧠 Quiz — testa o que aprendeste

1 Forma SEGURA de desfazer um commit já publicado:

2 git stash serve para…

Material de formação · Desenvolvido por DCSC Tecnologias