1
resposta

Porque o exemplo de pull request criou commit e o exemplo de merge não cricou

Tenho algumas dúvidas

1 - Toda vez que usamos git merge ele cria um commit novo? Por exemplo, as vezes nós fazemos git pull (git fetch + git merge com a mesma branch da origin) e não é criado o commit de merge. Porque?

2 - No exemplo do vídeo quando ele faz um pull request do fork da maria soares para o joão fonseca, o repositório do joão fonseca fica com o commit da alteração + o commit de merge. No exemplo em que a maria soares manda por e-mail o repositório e o joão fonseca adiciona ele como outra "ligação remota" e faz o "merge" não é criado o commit de merge. Porque essa diferença?

Obs: Tinha uma pergunta semelhante aqui sobre a diferença de git pull origin master vs git merge origin/master e a resposta não está correta. É possível reabrir uma discussão nessas perguntas?

1 resposta

Oi Cesar, tudo bem?

  1. Não necessariamente, é tanto que o comando merge tem a flag --no-commit: https://git-scm.com/docs/git-merge, então dependendo do caso, não será criado um commit novo.

  2. Aqui depende um pouco, não necessariamente o merge precisa ser um commit, o git pode considerar o histórico e simplesmente apontar o head para o commit mais recente sem criar um novo.

Pode sim reabrir a conversa em outro tópico. Só peço pra que se tiver o link do primeiro tópico mencionado, coloque ele no novo tópico para dar um contexto maior e o pessoal conseguir encontrar a referência.

Espero ter ajudado, bons estudos!