Diferencia entre git checkout --track origin / branch y git checkout -b branch origin / branch

¿Alguien sabe la diferencia entre estos dos comandos para cambiar y rastrear una rama remota?

<code>git checkout -b branch origin/branch
git checkout --track origin/branch
</code>

Creo que ambos hacen un seguimiento de la rama remota para poder enviar mis cambios a la rama en el origen, ¿no?

¿Hay diferencias prácticas?

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta