Estou prestes a fazer um commit de checkin final no meu projeto antes de mesclar para master . Eu preparei minhas alterações, mas quando tento fazer o commit, recebo um erro sobre conflitos:
error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
Não tenho 100% de certeza, mas "unmerged" é outra maneira de dizer "tem conflito"? Se sim, não tenho ideia de onde esses conflitos podem estar. Todos os meus arquivos de origem são A e M, e todos os da área de preparação são os mesmos.
Alguém pode oferecer uma maneira simples de rastrear isso?
Sim. O Git se refere aos arquivos como não mesclados quando eles contêm alterações conflitantes que precisam ser reconciliadas.
A mensagem de erro que você postou é, por exemplo, o que você obtém quando tenta finalizar uma mesclagem sem resolver seus conflitos primeiro. No seu caso, pode ser que você tenha tido uma operação em andamento que integra alterações (como mesclagem, rebase, cherry-pick, revert) que não foi concluída.
Para saber qual comando ainda está sendo executado, você pode abrir o Git CLI do seu repositório e verificar a operação canalizada para sua ramificação atual. Por exemplo, se você tinha uma mesclagem em andamento na
master
ramificação, você deve ver(master|MERGING)
. Alternativamente, você pode executargit status
e ser apresentado com a seguinte mensagem:Para obter uma lista de arquivos conflitantes/não mesclados, você pode usar
git ls-files
ougit diff
:Depois de detectar seus conflitos, você deve resolvê-los, organizá-los e, finalmente, se comprometer.
Se você fez outras alterações em meio ao comando em andamento (merge, rebase ou outro) e não quer que elas façam parte do commit final, você pode armazená-las em stash . Esta operação salvará suas alterações futuras em uma pilha para serem reaplicadas posteriormente, deixando você apenas com as modificações que deseja incluir no commit da operação. Assim que o commit for bem-sucedido, você pode reaplicar as alterações em stash ao seu diretório de trabalho e criar um segundo commit.