Imagine que seu software está armazenado no git e surge a necessidade de efetuar um merge normal de duas branches de sua aplicação. Qual o tipo de estratégia de mesclagem que o git irá utilizar para efetuar tal procedimento?
- A)LIFO
Errada, porque LIFO é uma ordem de pilha, não uma estratégia de merge do Git.
- B)FIFO
Errada, porque FIFO é uma ordem de fila e não tem relação com a fusão de branches no Git.
- C)Xsubtree
Errada, porque Xsubtree não é a estratégia padrão usada para merge normal no Git.
- D)Squash
Errada, porque squash é um tipo de consolidação de commits, não o merge normal entre branches.
- E)Recursiva
Certa, porque a estratégia padrão do Git para merge normal entre branches com ancestral comum é a recursiva.
Gabarito: E
Quando voce faz um merge normal de duas branches no Git, o sistema precisa encontrar a melhor forma de combinar os históricos sem perder informação. Para isso, o Git usa por padrão a estratégia de merge chamada "recursiva", que é a mais comum e inteligente para unir dois ramos que já tiveram um ponto de ancestralidade em comum. Ela tenta localizar a base comum entre as branches e resolver as diferenças de forma automática, sempre que possivel. Na pratica, isso significa que o Git olha para os dois lados da história e tenta reconstruir o caminho de onde eles vieram. Se houver conflitos, ele avisa para voce resolver manualmente. Se tudo estiver limpo, ele faz a fusão normalmente, criando o commit de merge quando necessario. A banca acertou em cheio ao cobrar isso de forma direta: para merge normal entre branches, a estratégia padrão do Git é a recursiva. Essa é a resposta clássica em documentação e uso prático do Git, especialmente quando há um ancestral comum entre os ramos. As outras opções parecem nomes técnicos, mas nao correspondem às estratégias usuais de merge do Git nesse contexto. Aqui, a dica é simples: quando aparecer "merge normal" em prova, pense no comportamento padrão do Git para fusão de branches com histórico compartilhado.