没有参数的Git pull是什么意思?

6
git pull origin foo

它将仅获取并合并foo分支。但是当您运行时会发生什么?
git pull

没有任何参数?
3个回答

6
git pull命令如果没有任何参数,默认会拉取当前所在分支以及设置为跟踪的远程仓库的代码更新。
虽然git pull的手册页面不太友好,但是它的作用是将远程仓库的变更合并到当前分支中。默认情况下,<repository><branch>参数的值是由当前分支的"remote"和"merge"配置读取的,这些配置是通过git branch --track命令设置的。

所以它不会拉取所有分支?很多人说它会拉取所有分支,而不仅仅是签出的分支。例如,请参见Jay的答案。 - bmcentee148
它可能会将其他分支的更改提取到本地缓存(我不确定),但它不会将它们合并到其他本地分支中。 - Jarek Piórkowski
我可以假设使用git pull的方式是相同的吗? - bmcentee148
我的评论是关于 git pull 的。根据我的经验,它会为当前分支 git fetch 新的更改,然后仅将它们合并到当前分支中。我从未遇到过它只是在当前检出的分支之外合并更改的情况。 - Jarek Piórkowski
git 的手册页面不是非常用户友好。FTFY :) - Lou

1

git pull 实际上是先执行 git fetch,然后调用 git merge 将检出的分支头合并到当前分支中。

以下是 pull 命令的语法:

'git pull' [options] [<repository> [<refspec>...]]

[] 中的所有内容都是可选的,因此它应该尝试合并所有分支。


0
根据我的经验,git pull 命令也包含了 git remote update origin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接