What does git push -u mean?

匿名 (未验证) 提交于 2019-12-03 02:44:02

问题:

I have two different versions of git. In the 1.6.2 version, git push does not have the -u option. It only appears in the 1.7.x version.

From the docs, the -u is related to the variable

branch.<name>.merge 

in git config. This variable is described below:

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

What is an upstream branch ?

回答1:

"Upstream" would refer to the main repo that other people will be pulling from, e.g. your GitHub repo. The -u option automatically sets that upstream for you, linking your repo to a central one. That way, in the future, Git "knows" where you want to push to and where you want to pull from, so you can use git pull or git push without arguments. A little bit down, this article explains and demonstrates this concept.



回答2:

This is no longer up-to-date!

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. 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!