git push -u是什么意思?

我有两个不同版本的git。 在1.6.2版本中, git push没有-u选项。 它只出现在1.7.x版本中。

从文档中, -u与variables有关

 branch.<name>.merge 

git config 。 这个variables描述如下:

 Defines, together with branch.<name>.remote, the upstream branch for the given branch. It tells git fetch/git pull which branch to merge. 

什么是上游分支?

“上游”指的是其他人将从中撤出的主要回购,例如您的GitHub回购。 -u选项会自动为您设置上游,将您的repo链接到中央。 这样,将来Git会“知道”你要推到哪里以及你想从哪里拉出来,所以你可以使用没有参数的git pull或者git push 。 一点点, 这篇文章解释和演示这个概念。

这不再是最新的!

 Push.default is unset; its implicit value has changed in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the traditional behavior, use: git config --global push.default matching To squelch this message and adopt the new behavior now, use: git config --global push.default simple When push.default is set to 'matching', git will push local branches to the remote branches that already exist with the same name. Since Git 2.0, Git defaults to the more conservative 'simple' behavior, which only pushes the current branch to the corresponding remote branch that 'git pull' uses to update the current branch.