尽管我尽了最大的努力去理解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,尽管这可能就是您想要的:)。
POPMUISE
TA贡献1765条经验 获得超5个赞
简单来说:
从技术上讲,该-u标志将跟踪参考添加到要推送到的上游服务器。
在这里重要的是,这使您git pull无需提供更多参数即可执行操作。例如,一旦执行a git push -u origin master,便可以稍后调用,git pull而git将知道您的实际意思git pull origin master。
否则,您将必须输入整个命令。
- 3 回答
- 0 关注
- 1769 浏览
添加回答
举报
0/150
提交
取消