¿Cómo se puede encontrar quién fusionó un git commit en una sucursal?

Hay un file en nuestro repository de git en el trabajo, quiero saber quién fusionó este file en una twig.

Tengo el hash de confirmación que identifica la confirmación (digamos 552a976f1a25f9bad57efb9455e951f6b7b3367f ) que introdujo el file, y sé que el file está en la staging bifurcación.

¿Cómo puedo encontrar el hash de la confirmación que fusionó la confirmación anterior en la twig de staging ? Quiero encontrar el usuario que se fusionó y la date de la fusión.

 git log <commit-id>..<branch> --ancestry-path --merges --reverse 

le dará la list de fusiones que ocurrieron desde la <commit-id> que le interesa y el estado actual de la <branch> . Dependiendo de su flujo de trabajo de fusión, la fusión que le interese puede ser la primera en la list o una de las siguientes.

Será útil visualizar la parte relevante de la historia con

 git log --oneline --graph --decorate --ancestry-path --boundary <commit-id>..<branch> 

Busque su <commit-id> cerca de la parte inferior del gráfico (pertenecerá a "graph boundary" – marcado con o lugar de * ).

ramas

Si te entiendo correctamente, tienes C5, y estás buscando C6. Si es el caso, probablemente estés buscando esto:

 git rev-list --merges HEAD --not <hash> --reverse 

Le dará la list de confusiones de fusión que ocurrieron después de su commit de hash. Uso HEAD en este command creyendo que estás en el master , en el ejemplo o en tu situación.

En un entorno no demasiado complejo, probablemente esté buscando la primera fusión que ocurrió después de su compromiso … Pero si no tiene este tipo de posibilidades, puede intentar:

 git log --graph --decorate HEAD...<hash>^ 

O cualquier herramienta gráfica para explorar tu historia (como gitk ) …

 git log -1 --merges <hash> 

Mostrará el logging de confirmación de fusión más reciente desde el <hash> commit (incluido él mismo).