Git: push from branch provocó que se cometieran files no deseados

Estoy atascado con un problema extraño que no parece entender. Tenía dos twigs git locales que apuntaban al mismo control remoto. Las sucursales locales son maestra y arrendataria y tengo la siguiente configuration en .git de mi ws

[remote "origin"] fetch = +refs/heads/*:refs/remotes/origin/* url = git@egitrepo:project.git [branch "master"] remote = origin merge = refs/heads/master [branch "tenant"] remote = origin merge = refs/heads/master 

Hice esto así que puedo hacer git pull fácilmente en ambas twigs sin especificar el control remoto en la línea de command.

Estoy trabajando en la twig de inquilinos mientras que mi twig principal no estaba actualizada y era antigua. Hice cambios en mi twig de inquilino , hice git pull e intenté llevar los cambios a control remoto.

Al hacer git push desde la twig de inquilino, me dio el error de avance rápido.

 To git@egitrepo:milkyway.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@egitrepo:milkyway.git' 

En este punto, miré a mi alnetworkingedor y descubrí que esto se debía a que git push intentaba empujar todas mis sucursales locales al control remoto, es decir, mi inquilino y mi maestro (no actualizado).

Encontré una solución a este problema estableciendo

  git config --global push.default upstream 

que le dice a git que presione solo la twig actual a su twig upsteam correspondiente. Esto resolvió mi problema y mi impulso de la twig de inquilino tuvo éxito.

Ahora viene la parte del problema, cuando miré el historial de commit usando git diff para ver mi confirmación, encontré varios otros files que NO DEBERÍAN haber sido parte de la confirmación. Agregué solo 8 files para commit y miré el estado de git con mucho cuidado antes de realizar la confirmación y se mostraron solo los 8 files correctos en la sección de cambios que se deben comprometer .

¿Cómo fueron todos esos otros files en mi compromiso? ¿Fueron agregados del maestro como parte del primer bash de git fallido que probé? Digo esto porque estos son algunos de los files que cambié en la twig principal . ¿Por qué git no me los mostró en la sección correcta del estado de git? ¿Alguien puede explicar esto? ¿También cómo puedo revertir?

Puede revisar el historial de compromisos y el reflog para determinar qué sucedió.

Use git-reflog y apuesto a que verá una fusión de maestro a inquilino.