Tengo dos versiones diferentes de git. En la versión 1.6.2, git pushno tiene la -uopción. Solo aparece en la versión 1.7.x.
De los documentos, el -uestá relacionado con la variable
branch.<name>.merge
en git config. Esta variable se describe a continuación:
Defines, together with branch.<name>.remote, the upstream branch
for the given branch. It tells git fetch/git pull which branch to merge.
¿Qué es una rama aguas arriba?

Respuestas:
"Upstream" se referiría al repositorio principal que otras personas utilizarán, por ejemplo, su repositorio GitHub. La opción -u establece automáticamente ese flujo ascendente para usted, vinculando su repositorio a uno central. De esa manera, en el futuro, Git "sabe" dónde quiere empujar y dónde quiere tirar, para que pueda usar
git pullogit pushsin argumentos. Un poco abajo, este artículo explica y demuestra este concepto.fuente
git pushno se ve afectada por la configuración de la rama ascendente a menos que hayapush.defaultestablecido atracking(oupstreamen versiones posteriores de git).¡Esto ya no está actualizado!
fuente
-upor ahora? GitHub todavía recomienda usar esta bandera cuando creamos un nuevo repositorio ...