20

为什么git pull从存储库中获取所有分支但git pull origin master没有?我很难发现它。这是这两个命令之间唯一的功能区别吗?

像这样的解释什么也没告诉我:

git pull= git fetch origin+git merge origin/master

git pull origin master= git fetch origin master+git merge FETCH_HEAD

4

3 回答 3

40

后一个命令,git pull origin master告诉 git 获取和合并特定的master分支(从远程命名origin,更准确地说)。

git pull获取所有本地分支的更新,跟踪远程分支,然后合并当前分支。

于 2013-07-05T00:40:23.993 回答
9

从以下文档git pull

git pull使用给定参数运行git fetch并调用 git merge 将检索到的分支头合并到当前分支中

当您git fetch不带参数调用时,会发生以下情况

从一个或多个其他存储库中获取命名的头像或标签,以及完成它们所需的对象。
git fetch[fetches] 从 (...) 单个命名存储库 (...)

添加参数时,仅获取指定的远程和头部(=branch/tag/commit/...),然后合并。

于 2013-07-05T00:44:09.560 回答
-1

Git pull 只拉出结帐分支。

如果要使用原始远程分支更新所有本地分支。

git pull --all

“git pull --all”可以更新我所有的本地分支吗?

于 2020-08-31T10:28:39.767 回答