¿Cómo 'git fetch' y 'git merge' desde una rama de seguimiento remoto (como 'git pull')?

He configurado algunas ramas de seguimiento remoto en git, pero parece que nunca podré fusionarlas en la rama local una vez que las haya actualizado con 'git fetch'.

Por ejemplo, supongamos que tengo una rama remota llamada 'otra rama'. Lo configuré localmente como una rama de seguimiento usando

git branch --track an-other-branch origin/an-other-branch

Hasta aquí todo bien. Pero si esa rama se actualiza (por lo general, moviendo la máquina y confirmando desde esa máquina), y quiero actualizarla en la máquina original, estoy teniendo problemas con la búsqueda / fusión:

git fetch origin an-other-branch
git merge origin/an-other-branch

Cada vez que hago esto, recibo un mensaje 'Ya actualizado' y nada se fusiona.

Sin embargo, un

git pull origin an-other-branch

siempre lo actualiza como es de esperar.

Además, ejecutando git diff

git diff origin/an-other-branch

muestra que hay diferencias, así que creo que tengo una sintaxis incorrecta.

¿Qué estoy haciendo mal?

EDITAR [2010-04-09]: Lo he comprobado un par de veces, y definitivamente no estoy en una rama diferente. ¿Debería mi 'git fetch' seguido de una 'git merge' (como se muestra arriba) hacer exactamente lo mismo que un git pull? Obtendré un flujo de trabajo que muestra los resultados de un estado git, etc.

Respuestas a la pregunta(5)

Su respuesta a la pregunta