为了账号安全,请及时绑定邮箱和手机立即绑定

“ u”到底是做什么的?“ git push -u原始主机”与“ git push原始主机”

“ u”到底是做什么的?“ git push -u原始主机”与“ git push原始主机”

Git
陪伴而非守候 2019-10-04 14:43:05
尽管我尽了最大的努力去理解git,但我显然还是很害怕使用git。从kernel.org获得git push:-u--set-upstream对于每个最新的或成功推送的分支,添加上游(跟踪)引用,该引用由无参数的git-pull(1)和其他命令使用。有关更多信息,请参见branch.<name>.mergegit-config(1)。下面是branch.<name>.merge来自git config:branch.<name>.merge与一起定义branch.<name>.remote给定分支的上游分支。它告诉git fetch / git pull合并哪个分支,并且还可能影响git push(请参阅push.default)。在branch中时<name>,它告诉git fetch将默认的refspec标记为要合并到FETCH_HEAD中。该值的处理方式类似于refspec的远程部分,并且必须匹配从所给定的从远程获取的ref "branch.<name>.remote"。git pull(首先调用git fetch)使用合并信息来查找默认分支进行合并。如果没有此选项,则git pull默认会合并获取的第一个refspec。指定多个值以获取章鱼合并。如果您希望设置git pull以便它可以<name>从本地存储库中的另一个分支合并到一起,则可以指向branch.<name>.merge到所需的分支,然后使用特殊设置。(一个时期)branch.<name>.remote。我使用github成功设置了一个远程存储库,并使用以下命令成功推送了对它的第一次提交:git push -u origin master然后,我无意间成功地使用以下命令将第二次提交推送到远程存储库:git commit -m '[...]'但是,我错误地认为我将不得不再次推至originfrom master,我跑了:# note: no -ugit push origin master那是做什么的?它似乎根本没有任何作用。我“撤消”了git push -u origin master吗?
查看完整描述

3 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

git push -u origin master

是相同的:


git push origin master ; git branch --set-upstream master origin/master

如果忘记了,请做最后一个声明-u!


或者,您可以强制执行以下操作:


git config branch.master.remote origin

git config branch.master.merge refs/heads/master

如果您让命令为您执行,它将选择您的错误,例如您键入了不存在的分支还是没有键入git remote add,尽管这可能就是您想要的:)。


查看完整回答
反对 回复 2019-10-04
?
POPMUISE

TA贡献1765条经验 获得超5个赞

简单来说:


从技术上讲,该-u标志将跟踪参考添加到要推送到的上游服务器。


在这里重要的是,这使您git pull无需提供更多参数即可执行操作。例如,一旦执行a git push -u origin master,便可以稍后调用,git pull而git将知道您的实际意思git pull origin master。


否则,您将必须输入整个命令。


查看完整回答
反对 回复 2019-10-04
  • 3 回答
  • 0 关注
  • 1769 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信