Git: ¿Cuál es la diferencia entre push.default "emparejar" y "simple"

He estado usando git durante un tiempo, pero nunca he tenido que configurar un nuevo repositorio remoto y tengo curiosidad por hacerlo. He estado leyendo tutoriales y estoy confundido sobre cómo hacer que "git push" funcione.

Si simplemente usogit push me pide que vea una rama predeterminada (?) para señalar? ¿Cuál es la diferencia entre estas dos opciones que me proporciona?

git config --global push.default matching
git config --global push.default simple

La coincidencia simplemente empuja las ramas que tengo en mi repositorio local, y si no coinciden, debo decirle manualmente que empuje las ramas locales nuevas que tengo, ¿correcto? ¿Es esta la mejor práctica para usar o es simplemente la mejor?

Respuestas a la pregunta(3)

Su respuesta a la pregunta