Pular para conteúdo

Exercícios da Aula 04

🛠 Branches e Merges: Linhas do Tempo Parallel

Nível: Básico

  1. Explorando as Ramificações:

    • Liste todas as branches locais do seu repositório atual. Qual comando você utilizou?
    • Em qual branch você está trabalhando no momento?
  2. Criando uma Nova Realidade:

    • Crie uma branch chamada feature-teste.
    • Mude para essa nova branch. Qual comando você utilizou para a troca?

Nível: Intermediário

  1. Trabalho Isolado:

    • Dentro da branch feature-teste, crie um arquivo chamado segredo.txt e realize o commit.
    • Volte para a branch main. O arquivo segredo.txt ainda aparece na sua pasta? Por que?
  2. A Fusão (Merge):

    • Estando na branch main, realize a fusão (merge) da branch feature-teste.
    • Verifique se o arquivo segredo.txt agora aparece na sua branch principal.

Nível: Desafio

  1. Atalho Eficiente:
    • Existe um comando que permite criar uma nova branch e mudar para ela instantaneamente em um único passo. Descubra e execute esse comando para criar a branch ajuste-rapido.

---

📚 Gabarito e Solução Comentada

Gabarito Explicado ### 1. Explorando as Ramificações O comando para listar as branches é:
git branch
A branch atual estará marcada com um asterisco (`*`) e geralmente em uma cor diferente (verde no Git Bash). ### 2. Criando uma Nova Realidade Para criar:
git branch feature-teste
Para trocar:
git switch feature-teste
### 3. Trabalho Isolado Ao voltar para a `main`, o arquivo `segredo.txt` **não** aparece. Isso ocorre porque os arquivos no Git estão vinculados à branch atual. Como o commit do arquivo foi feito apenas na linha do tempo `feature-teste`, a branch `main` ainda não conhece essa alteração. ### 4. A Fusão (Merge) Para unir as branches:
git merge feature-teste
Após o comando, o Git traz os commits da `feature-teste` para a `main`, e o arquivo `segredo.txt` passa a existir fisicamente na sua pasta enquanto você estiver na `main`. ### 5. Atalho Eficiente O comando "tudo em um" é:
git switch -c ajuste-rapido
(O `-c` vem de *create*).