2012-02-12 17 views

Respuesta

9

Hay una característica poco conocida de git llamada "Reutilizar resoluciones grabadas", o nueva.

Puede habilitarlo globalmente ejecutando git config --global rerere.enabled 1.

Si rerere está habilitado, git guardará automáticamente las resoluciones de conflictos y reutilizará esas resoluciones más adelante si encuentra los mismos conflictos. Esto tiene el resultado neto de no requerir que el usuario resuelva estos conflictos previamente vistos.

La función se explica con más detalle en a post on git-scm.com. Para más detalles, mira el help document for git rerere.

+5

Desafortunadamente, esto solo lo ayudará si lo tuvo habilitado la primera vez que realizó las fusiones: ahora es demasiado tarde. Hay [un script llamado rerere-train] (https://github.com/gitster/git/blob/master/contrib/rerere-train.sh) en la porción contrib de la fuente de Git, que pasa por la historia existente y hace que rerere aprende las resoluciones de conflictos de las fusiones existentes, suponiendo que funcione, eso te ayudaría en este caso. – Cascabel

1

Nota: Ya que el guión contrib/rerere-train.sh se supone que volver a entrenar rerere (se puede ver una manual retraining here)

Para asegurarse rerere olvida todo su resolución de rebase de corriente, ahora tiene una opción oficial con Git 2.14.x /2.15 (Q3 2017) para contrib/rerere-train: la bandera --overwrite.

Ver commit ad53bf7 (26 Jul 2017) por Raman Gupta (rocketraman).
(fusionada por Junio C Hamano -- gitster -- en commit aec68c3 11 Agos 2017)

contrib/rerere-train: opcionalmente sobrescribir resoluciones existentes

proporcionar al usuario una opción para sobrescribir resoluciones existentes utilizando un --overwrite bandera.

Esto podría usarse, por ejemplo, si el usuario sabe que ya tiene una entrada en su memoria caché secundaria para un conflicto, pero desea soltarla y volver a entrenar en función de la (s) confirmación (es) de fusión pasada (s) al guión de tren.

Cuestiones relacionadas