¿Combinación selectiva de * partes * de un file con git?

Estoy buscando fusionar selectivamente partes de un file con git.

Tengo dos twigs, llámalas maestro y cambiadas, que son un compromiso aparte; si fusiono master en changed, simplemente se avanzará rápidamente.

Sin embargo, solo quiero incorporar una cantidad de partes, dentro de un solo file, de las modificaciones a la maestra.

¿Hay alguna manera limpia de hacerlo, por ejemplo, preguntando antes de hacer cada cambio? ¿O estoy atrapado haciéndolo a mano? (No es el fin del mundo, pero preferiría no hacerlo, y – sí – esto podría haberse evitado con más planificación de mi parte – así es la vida).

Prueba esto:

git merge --no-ff --no-commit changed # Merge in 'changed' but don't commit git reset <path/to/your/file> # Reset the stage state but not file git add -i <path/to/your/file> # Start adding in interactive mode (Git will prompt you for each hunk; you can split hunks up if necessary.) git commit # Finally commit the merge with only # the bits you chose to stage. 

Sin embargo, tenga en count que hacer esto hará que Git piense que el file está completamente fusionado, por lo que si alguien se fusionara nuevamente en la misma twig, los otros cambios de esa confirmación aún no se fusionarían. Esto puede o no ser Lo que quieras.

Si necesita ayuda con los significados de las diversas opciones en el modo interactivo de git help add , vea la salida de la git help add de git help add en la sección "MODO INTERACTIVO".