La página de manual de git-config enumera estas opciones para push.default:
nothing - do not push anything.
matching - push all matching branches. All branches having the same name in both ends are considered to be matching. This is the default.
upstream - push the current branch to its upstream branch.
tracking - deprecated synonym for upstream.
current - push the current branch to a branch of the same name.
En la mayoría de los casos, asumiría que empujar a una rama ascendente de una rama sería lo mismo que empujar a una rama del mismo nombre, ya que la rama ascendente normalmente tendría el mismo nombre, y dado que la rama del mismo nombre ("actual" ) normalmente (¿o siempre, por definición?) estaría aguas arriba. Entonces, ¿cuál es la diferencia?
ACTUALIZACIÓN : La página de manual de git-config se ha actualizado (como era de esperar), por lo que las distinciones hechas allí pueden ser mucho más claras ahora.