¿Cómo puedo adelantar un solo git commit, programáticamente?

Periódicamente recibo mensajes de git que se ven así:

Your branch is behind the tracked remote branch 'local-master/master' 
by 3 commits, and can be fast-forwarded.

Me gustaría poder escribir comandos en un script de shell que pueda hacer lo siguiente:

¿Cómo puedo saber si mi rama actual se puede reenviar rápidamente desde la rama remota que está rastreando?

¿Cómo puedo saber cuántos commits están "detrás" de mi rama?

¿Cómo puedo avanzar rápidamente solouno commit, de modo que, por ejemplo, mi sucursal local pasaría de "atrás por 3 confirmaciones" a "detrás por 2 confirmaciones".

(Para aquellos que estén interesados, estoy tratando de armar un espejo git / darcs de calidad).

Respuestas a la pregunta(3)

Su respuesta a la pregunta