Страница руководства для git -config перечисляет эти параметры для 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.
В большинстве случаев я бы предположил, что нажатие на ветвь вверх по течению будет таким же, как нажатие на ветвь с тем же именем, поскольку ветвь вверх по течению обычно имеет одно и то же имя, а так как ветвь с тем же именем ( "текущий" ) обычно (или всегда, по определению?) должен быть вверх по течению. Итак, какая разница?
UPDATE: Была обновлена справочная страница для git -config, поэтому значения, сделанные там может быть намного понятнее.