Eu sei como mesclar modificações usando o vimdiff, mas, supondo que eu sei que todo o arquivo é bom para manter ou jogar fora, como faço isso?
Eu não quero abrir o vimdiff para cada um deles, eu mudo para um comando que diz 'manter local' ou 'manter remoto'.
EG: Eu tenho uma mesclagem de arquivos marcados como alterados porque alguém o abriu no Windows, alterou o EOL e, em seguida, confirmou. Ao mesclar, quero apenas manter minha própria versão e descartar a dele.
Também estou interessado no contrário: estraguei tudo e quero aceitar o arquivo remoto, descartando minhas alterações.
git version 1.8.4
se isso importa.Essa abordagem parece mais direta, evitando a necessidade de selecionar cada arquivo individualmente:
ou
Copiado diretamente de: Resolver conflitos de mesclagem do Git em favor de suas alterações durante um pull
fonte
git checkout {branch-name} -- {file-name}
Isso usará o arquivo da filial de sua escolha.
Eu gosto disso porque o
posh-git
preenchimento automático funciona muito bem com isso. Também remove qualquer ambiguidade sobre qual ramificação é remota e qual é local. E--theirs
não funcionou para mim de qualquer maneira.fonte
Para obter informações sobre o final da linha, consulte
man git-merge
:Certifique-se de adicionar
autocrlf = false
e / ousafecrlf = false
ao clone do Windows (.git / config)Usando git mergetool
Se você configurar uma ferramenta de fusão como esta:
Então um simples
Fará o trabalho
Usando comandos git simples
Em outros casos, eu assumo
deve fazer o truque
Edite para fazer o inverso (porque você errou):
fonte
git checkout remote/branch_to_merge -- path/to/myfile.txt
funciona como um encanto ao resolver um conflito de mesclagem. (git 1.7.1)