Ignorar errores combinados al mostrar el logging de git

Digamos que tengo una twig git y estoy trabajando en una function grande, así que periódicamente la mantengo actualizada con master ejecutando git merge master .

Fusionar en master trae muchos commits diferentes, así que cuando hago git log obtengo un historial entrelazado de mis commits personales en "this branch" y también varios commits misceláneos de master

¿Hay alguna manera de ver solo el historial en "esta" twig?

¿Git rastrea de forma nativa qué padre en una fusión es uno "primario" y cuál fue "fusionado" al otro? De ser así, debería ser posible recorrer el historial para seguir solo a los padres "primarios" en cada punto de fusión, ¿verdad?

¡Gracias!

puedes usar

 git log origin/master.. --no-merges 

por lo tanto, solo mostrará los commits que están en su twig dev y que no están en master. además, con la bandera --no-merges no imprimirá commits con más de un padre.


la respuesta a su segunda pregunta es sí; en una combinación, la twig base "es" el primer padre y la twig que se está fusionando con ella "es" la segunda (por decirlo de una manera simple); entonces, para seguir solo al primer padre cuando busca revisiones, puede usar la bandera --first-parent .

esto significa que si tienes este historial:

 * a953ca2 Merge remote-tracking branch 'origin/WildBranch' |\ | * b5399f7 Commit to WildBranch: 1483140838 | * 30f181d Commit to WildBranch: 1483140837 | * 5f18ce9 NEW BRANCH: WildBranch * | 42554e5 Commit to master: 1483140840 * | d512b35 Commit to master: 1483140839 |/ * 5f2e69e Commit to master: 1483140836 

así que si estoy parado en a953ca2 , la fusión se compromete, el primer padre es el último compromiso hecho en el maestro ( ^1 significa el primer padre de este compromiso):

 $ git log --pretty=format:"%h" a953ca2^1 -1 42554e5 

mientras que el segundo es el objective de HEAD en su twig de desarrollo cuando lo fusionó con el maestro ( ^2 significa el segundo padre de este compromiso):

 $ git log --pretty=format:"%h" a953ca2^2 -1 b5399f7 

si estás en master y usas la opción --first-parent , solo seguirá esos commits en la revisión:

 $ git log --first-parent --pretty=format:"%h" a953ca2 -4 a953ca2 42554e5 d512b35 5f2e69e