Sé cómo fusionar la modificación usando vimdiff, pero, suponiendo que sé que todo el archivo es bueno para guardar o tirar, ¿cómo hago eso?
No quiero abrir vimdiff para cada uno de ellos, cambio quiero un comando que diga 'mantener local' o 'mantener remoto'.
EG: Tengo una fusión con archivos marcados como modificados porque alguien lo abrió bajo Windows, cambiando la EOL, y luego se comprometió. Al fusionarme, quiero mantener mi propia versión y descartar la suya.
También me interesa lo contrario: me equivoqué mucho y quiero aceptar el archivo remoto, descartando mis cambios.
git version 1.8.4
si eso importa.Este enfoque parece más sencillo, evitando la necesidad de seleccionar individualmente cada archivo:
o
Copiado directamente de: Resolver conflictos de fusión de Git a favor de sus cambios durante una extracción
fuente
git checkout {branch-name} -- {file-name}
Esto usará el archivo de la rama elegida.
Me gusta esto porque el
posh-git
autocompletado funciona muy bien con esto. También elimina cualquier ambigüedad sobre qué rama es remota y cuál es local. Y--theirs
no funcionó para mí de todos modos.fuente
Para la cosa del final de línea, consulte
man git-merge
:Asegúrese de agregar
autocrlf = false
y / osafecrlf = false
al clon de Windows (.git / config)Usando git mergetool
Si configura una herramienta de combinación como esta:
Entonces un simple
Hará el trabajo
Usando comandos simples de git
En otros casos, supongo
debería hacer el truco
Edite para hacer lo contrario (porque lo arruinó):
fuente
git checkout remote/branch_to_merge -- path/to/myfile.txt
funciona de maravilla mientras resuelve un conflicto de fusión. (git 1.7.1)