Resolvendo pequenos conflitos no git
Se você trabalha com desenvolvimento, provavelmente já deve ter que ter resolvido conflitos de arquivos em algum merge
certo? Se ainda não passou por essa situação, a chance de isso acontecer em breve é muito grande.
Mas, qual a melhor maneira de resolvê-los? Difícil dizer. Cada pessoa tem a sua preferência e, claro, tudo também depende do tamanho do conflito.
Esses dias me deparei com um conflito grande em um arquivo que tinha alterado poucas linhas de código e com alterações simples (pequenas mudanças de atributos e valores). Mas aí vem a pergunta, como um arquivo com poucas alterações pode gerar um conflito tão chato? Em uma sprint, mais de uma pessoa acabou mexendo no mesmo arquivo: uma para pequenas alterações e outra para uma refatoração/mudança um pouco maior.
Quando me deparei com o arquivo, pensei em duas opções logo de cara: corrigir manualmente os conflitos no arquivo ou, como as minhas mudanças eram muito simples, usar o arquivo que veio do merge e aplicar as minhas mudanças por cima (perderia nem 1 minuto fazendo isso). Por questões de facilidade, decidi seguir pela última.
Mas, como faria isso? Rapidamente pensei em abrir o GitHub, pegar o arquivo do merge, copiar no meu arquivo localmente e aí fazer as minhas pequenas alterações. Foi aí, que me mostraram um comando que me facilitou fazer isso.
O comando acima simplesmente diz o seguinte: Hey git, por favor vamos usar o arquivo my-folder/my-file.js
deles! Ou seja, o arquivo que veio na hora do merge. Podemos ainda querer o inverso, e usar o nosso arquivo, ou seja, a cópia local; nesse caso, trocaríamos o --theirs
por --ours
.
Existem diversas outras saídas e técnicas para correção de conflitos, mas para casos menores e que se tratem de alterações pontuais, essa saída pode lhe poupar algum tempo.