
Se me ocurrió el siguiente truco que funciona, pero estoy seguro de que debe haber una manera más fácil de hacerlo. Para cada confirmación, en realidad tomo la primera línea del comando 'git Branch --contains...'.
while read v t
do
echo -e "$v\t\c"
git branch -r --contains $v | head -1 | tr -d "\n"
echo -e "\t$t"
v=""
t=""
done
0d0098b4e origin/2021.10.EM1 XXX-2360 : Function2: XXX 4.1 Upgrade ....
476d60fa5 origin/2021.10.EM1 XXX-2362 : Function2: XXX 4.1 Upgrade ....
49455ce5d origin/2021.10.EM1 XXX-2362 : Function2: XXX 4.1 Upgrade ....
47b1f1817 origin/2021.10.EM1 XXX-2362 : Function2: XXX 4.1 Upgrade ....
e10f005ef origin/2021.10.EM1 XXX-2360 : Function2: XXX 4.1 Upgrade ....
7317613b5 origin/2021.10.EM1 XXX-2353: Revert change from wrong JIRA ....
16b41ce0c origin/2021.10.EM1 XXX-2353 : Function2: XXX 4.1 Upgrade ....
4756fe099 origin/2021.10.EM1 XXX-2353 : Function2: XXX 4.1 Upgrade ....
8c557c520 origin/2021.04.OoC XXX-2339 : Function2: XXX 4.1 Upgrade ....
6054b16a1 origin/2021.04.OoC XXX-2339 : Function2: XXX 4.1 Upgrade ....
ad9d66057 origin/2021.04.OoC XXX-2339 : Function2: XXX 4.1 Upgrade ....
b19ad447e origin/2021.04.OoC XXX-2083 : reset calendar mechanism to previous behaviour ....
c1c03a83c origin/2021.04.OoC XXX-2083 : Update default value for PROD to false to keep old behaviour ....
33c034f37 origin/2021.09.Minor XXX-1901 YYY-817 : Added the Business calendars back ....
acbbfaf4a origin/2021.09.Minor XXX-1901 YYY-817 : Removal of business calendars ....
1f5d74216 origin/2021.04.OoC XXX-2292 : Function2: XXX 4.1 Upgrade ....
117f0ca7c origin/2021.04.OoC XXX-2083 : Update default value for PROD to true to keep old behaviour ....
dffc5810e origin/2021.04.OoC XXX-2322 : Function2: XXX 4.1 Upgrade ....
a6590add6 origin/2021.04.OoC XXX-2322 : Function2: XXX 4.1 Upgrade ....
Además, ¿cómo podría obtener fácilmente la lista de confirmaciones que se realizaron originalmente, por ejemplo, en la rama '2021.04.OoC'?
Respuesta1
En realidad es bastante fácil, con
git log <branch>
Respuesta2
Esto no es posible.
Las ramas en Git son solo indicadores de revisiones específicas (confirmaciones). A medida que agrega más confirmaciones y las envía, el puntero de la rama se mueve de forma local y remota. Luego, una vez eliminada una rama, desaparece. Incluso si no se elimina, el puntero de la rama puede moverse de manera que la información no esté disponible.
Puede inferir, hasta un grado razonable, de dónde proviene una confirmación, cuando utiliza una estrategia de ramificación sólida de Git y observa los mensajes de confirmación de las confirmaciones de fusión. Estos mensajes suelen contener los nombres de ambas ramas que se fusionaron. Sin embargo, si estás utilizando la combinación de múltiples ramas (fusión de pulpo), las adivinanzas se vuelven mucho más difíciles.
Si no estás utilizando una estrategia de ramificación, deberías considerarla seriamente. Si confías en los nombres de las sucursales para... bueno, cualquier cosa, en realidad, probablemente deberías detenerlo. En el mejor de los casos, no es confiable.