Então, a dúvida foi o contrário, quando as alterações são em linhas diferentes. Vou colocar em um outro exemplo qualquer:
if(var1 != var2 + 1 && var2 == var3 || var3 == var1 * 21){ //Linha1
doSomething1; //Linha2
doSomething2; //Linha3
doSomething3; //Linha4
if(algo == algo2 * 2){ //Linha5
doSomething4; //Linha6
}
}
Maria altera a condição do if (linha 1) e Leandro altera linhas de instruções dentro do if (linhas 2, 4 e 5 (condição de um outro if)).
No final o código vai dar merge automaticamente, já que as linhas alteradas não foram as mesmas. Não houve conflito.
- Maria mudou o multiplicador da condição da Linha1 para 25 pra arrumar uma regra de negócio que foi modificada:
if(var1 != var2 + 1 && var2 == var3 || var3 == var1 * 25){ //Linha1
- Leandro mudou as outras linhas para arrumar alguns bugs (nada a ver com a alteração da Maria, porém a mudança dela vai mudar toda a lógica):
leandroMudouTudo1; //Linha2
leandroMudouTudo2; //Linha4
if(leandroMudouAlgo != leandroMudouAlgo2 * 5){ //Linha5
Enfim, não deu conflito, já que são linhas diferentes e o merge foi completo automaticamente com sucesso. Mas ficou tudo bugado agora, já que foram alterações completamente diferentes dentro de uma estrutura de lógica.
A dúvida foi a seguinte: Tem a possibilidade (ou alguma condição) do Git dar conflito quando as mudanças forem em linhas diferentes, como nessas ocasiões, ou a única regra para o conflito acontecer é a 'alteração da mesma linha'? Pois como no exemplo, mudanças em linhas diferentes dentro de um IF ou algo mais complexo, podem !@#$% tudo se o merge for automático do 'git pull'. Apesar de que é só voltar as versões se der ruim, justamente o que o Git oferece, hahaha.