Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Criação da tarefa 3 #103

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

Joaolpridolficarvalho
Copy link
Contributor

@Joaolpridolficarvalho Joaolpridolficarvalho commented Dec 13, 2024

Tarefa 3 adicionada
Link para tarefa 3 adicionado à tarefa 2

closes #97

O_JOGO_DO_TIGRINHO_ME_DEU.md modified
Link para tarefa 3 adicionado à tarefa 2
Copy link
Member

@camilamaia camilamaia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Valeu demais pela contribuição @Joaolpridolficarvalho!

Antes de eu corrigir as mudanças da Tarefa 3 em si, primeiro a gente precisa remover dois
commits que estão duplicados no seu PR. Depois que resolver isso, aí eu reviso a mudança da
Tarefa 3, pode ser?

Problema

Os commits 32609bf e 3c01fc0 não deveriam constar no PR.

Descrição detalhada

Se você olhar na aba de commits do seu pr,
verá 3 commits listados, como mostra a imagem:

image

Perceba que os dois commits marcados em vermelho (32609bf e 3c01fc0) já tiveram o seus
respectivos conteúdos mesclados no branch main.

Eles foram mesclados utilizando o método "squash and merge".
Esse método combina vários commits em um novo commit. Portanto se você for analisar o
histórico de commit do branch main,
verá que terá apenas um commit referente a essas mudanças (o commit 9e66308):

image

Se você clicar no commit, ou acessar diretamente pelo
link,
verá a seguinte informação:

image

Em resumo, o quê o "squash and merge" fez foi mesclar os commits 32609bf e 3c01fc0 em um novo
commit a9e66308.

Como os conteúdos desses dois commits do PR já estão com seus conteúdos mesclados no main, eles
não deveriam estar neste PR, correto? O PR deveria conter apenas o commit 4010140.

Por que isso aconteceu?

Aqui está o que provavelmente aconteceu:

  • Os commits 32609bf e 3c01fc0 foram inicialmente feitos no branch Joaolpridolficarvalho:main.

  • Você abriu o primeiro PR (Joaolpridolficarvalho #92) de Joaolpridolficarvalho:main para cumbucadev:main.

  • Eu fiz o "squash and merge" do PR Joaolpridolficarvalho #92. Isso atualizou o cumbucadev:main com um novo commit
    de squash, o 9e66308.
    Neste exato momento, o seu branch Joaolpridolficarvalho:main continua igual como estava antes.
    Ele continua contendo os dois commits ao invés de um só do squash. Isso porque, quando eu faço
    o merge do PR, eu altero somento o cumbucadev:main e não o Joaolpridolficarvalho:main

  • Você criou o novo branch Joaolpridolficarvalho:97 a partir do Joaolpridolficarvalho:main.

  • Você criou o commit com a tarefa 3 no branch Joaolpridolficarvalho:97 e criou o PR.

A razão do que aconteceu é que o branch Joaolpridolficarvalho:97 foi baseado no branch
Joaolpridolficarvalho:main e o branch Joaolpridolficarvalho:main não estava atualizado com
o branch cumbucadev:main .

Como evitar isso no futuro:

Esse deveria ter sido o fluxo seguido:

  • Fazer os commits 32609bf e 3c01fc0 no branch Joaolpridolficarvalho:main
    (melhor ainda se fosse no Joaolpridolficarvalho:92, mas vamos usar o main aqui para manter
    o exemplo)

  • Abrir o primeiro PR (Joaolpridolficarvalho #92) de Joaolpridolficarvalho:main para cumbucadev:main.

  • Após o merge do seu PR, atualizar o seu main remoto Joaolpridolficarvalho:main com o
    cumbucadev:main. Nessa doc tem as intruções detalhadas de como fazer isso,
    mas é basicamente clicar nesse botão:

    image

  • Agora, atualizar o seu main local com as atulizações do Joaolpridolficarvalho:main:

git checkout main
git pull
  • Criar o novo branch Joaolpridolficarvalho:97 a partir do Joaolpridolficarvalho:main
    já atualizado:
git checkout main
git checkout -b 97
  • Criar o commit com a tarefa 3 no branch Joaolpridolficarvalho:97 e criar o PR.

Como resolver?

Agora que entendemos por que isso aconteceu, vamos resolver o problema! O objetivo é garantir que o
seu PR não tenha os commits duplicados, que já foram mesclados no main.

Aqui está o passo a passo para corrigir isso:

  • Atualizar o seu branch remoto Joaolpridolficarvalho:main com o cumbucadev:main:
    syncing-a-fork

  • Atualizar o seu main local com as atulizações do Joaolpridolficarvalho:main:

git checkout main
git pull
  • Criar um novo branch 97-2:
git checkout -b 97-2
  • Fazer cherry-pick do commit correto:

Agora, você pode pegar o commit correto (4010140) e aplicá-lo diretamente no seu novo branch 97-2.
Isso irá garantir que apenas o commit desejado seja incluído no novo branch.

  git cherry-pick 4010140

Esse comando irá pegar o commit 4010140 e aplicá-lo ao seu branch 97-2.

  • Criar um novo PR a partir da branch 97-2

Agora, com o commit correto no branch 97-2, crie um novo PR para que ele seja revisado e mesclado no repositório.

git push origin 97-2
  • Feche esse PR, comentando que você criou um novo PR e coloque o link para o novo PR:

image

Espero que tenha dado para entender, mas qualquer coisa é só dar um toque! Nesse começo é bem
natural se enrolar um pouco com o git, mas depois que pega o jeito só vai.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Criar Tarefa 3
2 participants