¿Es posible volver a establecer una base de files específicos en git?

Esto es similar a esta pregunta sobre la fusión , excepto que estoy intentando volver a clasificar la twig A en la twig B, en lugar de fusionar la twig B en la twig A.

Es posible lograr un efecto similar en la twig A usando una combinación de git checkout y git commit en files individuales, pero eso no tiene el mismo efecto en la historia que una rebase.

¿Es posible volver a establecer la database solo de files específicos para que no sea necesario que todas las rebases futuras toquen estos files, sin volver a basar el historial de todos los files?

Más o less Puede hacer una rebase interactiva, y cuando se le presente la secuencia de commands de rebase en su editor de text, cambie todas las acciones de "seleccionar" a "editar" y luego save y salir. Ahora comenzará la rebase y se detendrá después de cada confirmación aplicada, lo que le permitirá:

  1. Elimina los cambios en los files que no te interesan.

    Esto es factible por algo como

     git reset <reference_commit> -- pathname 

    donde <reference_commit> es el nombre de una confirmación que contiene los files que no desea que la modificación se modifique.

  2. Aplica estos cambios ejecutando git commit --amend -C HEAD .

  3. Ejecute git rebase --continue .
  4. Enjuague, repita.

Cada vez que se aplica una nueva base de git rebase la base de la próxima confirmación, en lugar de tener la oportunidad de editar la confirmación ya registrada. Esto no difiere mucho de la edición normal; solo debe prestar más atención al estado actual del índice.

En cualquier caso, lo que quiere hacer, me huele bastante extraño: el rebase, normalmente, es "reenviar los cambios locales sobre la base actualizada (código upstream)", lo que significa que si los cambios no pueden funcionar con la actualización en sentido ascendente (¿y por qué otra cosa querrías evitar que algunos files se actualicen?) no tiene sentido volver a basarlos, simplemente porque no volverás a basar, estarás haciendo otra cosa, y esto podría dañarte más tarde.