¿Solucionando un conflicto sin una herramienta de mezcla durante una rebase?

Estoy haciendo una rebase de maestro en mi twig. Hay un file binary que entra en conflicto (esperaba un conflicto) y solo quiero aceptar el de la twig. Si esto fuera un file de text, simplemente abriría el file con mergetool y aceptaría todo en mi brach, pero dado que es binary, no puedo hacer eso, por supuesto. Entonces, diga que el nombre de la twig es branch1 y luego de hacer una rebase:

  K:\gitrepo\supplemental [(1c58d85...)|REBASE +0 ~0 -0 !1 | +0 ~0 -0 !1]> gs # Not currently on any branch. # You are currently rebasing. # (fix conflicts and then run "git rebase --continue") # (use "git rebase --skip" to skip this patch) # (use "git rebase --abort" to check out the original branch) # # Unmerged paths: # (use "git reset HEAD <file>..." to unstage) # (use "git add <file>..." to mark resolution) # # both modified: mybinaryfiles/file.bin # 

Para aceptar el file en la sucursal y terminar la rebase, simplemente:

 git add . git rebase --continue 

Para hacer la pregunta más completa, ¿qué haría si quisiera aceptar el file del maestro en lugar de la twig?

Al tratar de comprender lo que realmente hace git durante un conflicto de fusión en una rebase … ¿realmente mantiene intacto el file en conflicto y solo quiere que confirmes que es correcto haciendo un git add

Tienes ambos (bueno, los tres, incluida la versión base) disponibles en el índice. Puede recuperar la versión 'master' o la versión de twig 'being-rebased' con:

 git checkout --ours mybinaryfiles/file.bin 

y

 git checkout --theirs mybinaryfiles/file.bin 

respectivamente.

Luego, solo tienes que git add mybinaryfiles/file.bin y git commit .

La fusión de Git admite diferentes estrategias de fusión, incluidas la ours y la de theirs . Git rebase permite usar esta combinación de estrategias usando la opción -m . Sugiero leer el manual de git-merge y git-rebase antes de comenzar a jugar, porque hay algunas peculiaridades al respecto.

Ver también:

  1. ¿Cómo selecciono una estrategia de fusión para una database de git?

  2. ¿Cómo podría usar una estrategia diferente para una sola confirmación en una rebase?