¿Por qué mis cambios locales en Git se sobrescribirán con el pago en esta circunstancia?

Digamos que tengo una twig A, y de esa twig B. Hago un montón de cambios en A, luego pago B y hago una git pull . Ahora hago un cambio en B pero me doy count de que debería haber estado en A. Si ahora trato de completar el process git checkout A , obtengo "Tus cambios locales en los siguientes files se sobrescribirán con el pago" en el file que he tocado.

¿Por qué se sobrescribirá mi cambio si acabo de hacer un jalón en B y no he tocado ese file en A desde entonces?

La razón por la que recibes ese post es que el file subyacente (antes de las modificaciones no confirmadas) es diferente entre la twig A y la twig B. Si los files son los mismos, Git cambiará de twigs y conservará las mismas modificaciones no confirmadas después de cambiar a la twig A.

Una forma de llevar estos cambios es esconderlos:

 (on branch B)$ git stash git checkout A git stash pop 

Si hay cambios conflictivos, es posible que deba resolver el conflicto en este momento. Si hay cambios pero no entran en conflicto, esto tendrá éxito.