¿Cómo puedo mostrar los commit de git relacionados con una tarea y su información de fusión?

Parte de la diversión de esta pregunta es definir qué es una tarea y cómo se registra en el historial de git.

Cuando utiliza el model de ramificación de flujo git cada característica desarrollada obtiene su propia twig. Luego, usando el siguiente script que obtuve de http://sofes.miximages.com/a/6191836/172690 :

#!/bin/sh # From http://sofes.miximages.com/a/6191836/172690 NAME1="$1" if [[ -z $NAME1 ]]; then echo "Usage: git-show-merge-ancestry.sh COMMIT_ID This will display the ancestry of the merged in branch. To list only merge commits, use 'git log --merges'." else git show $1 | grep Merge: > /dev/null if [[ 0 == $? ]]; then echo "Displaying ancestry of merged commit $1" git show $1 git log $(git merge-base --octopus $(git log -1 --merges --pretty=format:%P ${NAME1}))..$(git log -1 --merges --pretty=format:%H ${NAME1}) --boundary --graph --pretty=oneline --abbrev-commit else echo "The commit $1 doesn't seem to be a merge commit" fi fi 

Puedo ver fácilmente una combinación de fusión y extraer toda la información jugosa de confirmaciones relacionadas con la twig / function fusionada. Sin embargo, sucede una mierda y, a veces, los commits realmente relacionados con una única tarea / function están dispersos en más de una sola twig. De hecho, eso es a lo que algunas veces utilizo las revisiones, parcheando una característica.

En estas situaciones hago una copy de security agregando a cada commit un marcador Refs #xxx . Este tipo de marcador aparece en github y sistemas similares de venta de inputs, y es mi forma manual definitiva de hacer un seguimiento de los cambios relacionados con una tarea. Luego, los cambios relacionados con la tarea se pueden extraer con un command como git log --grep=#39 que grepea el logging confirma para un número específico.

La pregunta es: ¿cómo puedo mezclar ambas informaciones en una sola vista? Lo que me gustaría es un command que acepte un marcador Refs #xxx o un hash de confirmación y muestre toda la información relacionada, sin importar cuán dispersos estén en el historial de git. Si la input es la tarea, primero debe grep commits individuales, luego averiguar de qué twigs provienen. Si la input es un hash de confirmación, debe analizar sus loggings de ascendencia para los marcadores Refs #xxx y descubrir qué otras confirmaciones en el historial hacen reference a esas tareas.

Como esta es una característica más compleja, ¿se puede implementar en cualquiera de los browseres git?