Pergunta

Existe uma maneira de ter Git forçar uma resolução manual para um arquivo quando o arquivo foi editado em ambos os ramos?

O meu problema é que eu quero algumas das mudanças de um ramo e algumas das mudanças do outro. Acontece que essas mudanças nem sempre passo em si, mas o algoritmo nem sempre é escolher a mudança correta.

Um aviso coisa que eu, é o arquivo base no 3-way merge não é o que eu estava esperando. É possível ter Git usar um arquivo escolhido a partir de um ramo como a base?

Nenhuma solução correta

Outras dicas

Se detecta git conflitos em um arquivo que será sempre pedir-lhe para editar (ou use uma ferramenta de mesclagem) para corrigir os conflitos. Neste caso, você pode corrigi-lo no entanto você gosta, antes de encenar-lo.

Se git não detectou conflitos em um arquivo particular, mas detectou conflitos em outro lugar, então você pode sempre corrigir esse arquivo em particular e adicionar as correções (git add) antes de fazer a fusão cometer.

Neste caso, você pode acessar as duas versões de pais diferentes de arquivo via git show HEAD:path/to/file e git show MERGE_HEAD:path/to/file. Você pode redirecionar a saída git show para temporários, se você quiser abri-los em um editor, diz.

Depois de corrigir o arquivo e resolvidas quaisquer outros conflitos pode encenar a correção (git add) e fazer o merge commit (git commit).

Se git não detectou nenhum commit ele vai fazer o merge cometer sem mais avisos.

Neste caso, você ainda pode corrigir o seu arquivo. As duas versões pais são acessíveis através git show HEAD:path/to/file e git show HEAD^2:path/to/file.

Uma vez que você fixa-se o arquivo que você pode encenar (git add) e refazer a fusão comprometer com git commit --amend.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top