Ответ 1
На странице руководства git (1) написано:
-u, --set-upstream
Для каждой ветки, которая обновлена или успешно нажата, добавьте (отслеживание), используемое без аргументов git -pull (1) и другие команды. Дополнительную информацию см. В разделе branch..merge в git -config (1).
В принципе, вы используете этот флаг, когда хотите установить источник как удаленный пульт для ветки. Это необходимо, если вы не хотите вручную указывать удаленный каждый раз, когда используете git pull
.
См. также
http://git-scm.com/book/en/Git-Branching-Remote-Branches#Tracking-Branches