为什么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
为什么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
后一个命令,git pull origin master
告诉 git 获取和合并特定的master
分支(从远程命名origin
,更准确地说)。
git pull
获取所有本地分支的更新,跟踪远程分支,然后合并当前分支。
从以下文档git pull
:
git pull
使用给定参数运行git fetch
并调用 git merge 将检索到的分支头合并到当前分支中
当您git fetch
不带参数调用时,会发生以下情况
从一个或多个其他存储库中获取命名的头像或标签,以及完成它们所需的对象。
git fetch
[fetches] 从 (...) 单个命名存储库 (...)
添加参数时,仅获取指定的远程和头部(=branch/tag/commit/...),然后合并。