jpganz18 Asked: 2020-12-03 07:17:31 +0800 CST 2020-12-03 07:17:31 +0800 CST 2020-12-03 07:17:31 +0800 CST git中的pull和fetch有什么区别? 772 git pull制作 a和制作 a之间具体有什么区别git fetch? git 5 Answers Voted Best Answer Marcos Crispino 2020-12-03T07:19:27+08:002020-12-03T07:19:27+08:00 从文档中: git pull是git fetch后跟的简写git merge FETCH_HEAD。 或进行免费翻译: git pull是git fetch后跟的缩写git merge FETCH_HEAD。 也就是说,它git fetch签入更改,但将它们留在另一个分支中,直到git merge对本地分支完成签出。 Fili Santillán 2020-12-06T20:08:32+08:002020-12-06T20:08:32+08:00 始终在存储库中,您有一个隐藏的分支,您可以使用git branch -a. 那个隐藏的分支是origin/master。 您可以使用git fetch将更改从远程存储库推送到分支origin/master: git 获取原点 现在您在 中进行了更改origin/master,但您必须将它们传递给分支master,因为您必须使用: git合并原点/主 从这里你在你的分支中有新的变化master,就是这样。 这是我为解释这部分而制作的图像: 使用git pull这些组合时git fetch+ git merge。 git pull 起源大师 总之git pull,您可以避免使用更多命令,但我建议如果您刚刚开始使用 git,请继续使用git fetch和git merge Andres Felipe Williams Suarez 2020-12-03T07:34:09+08:002020-12-03T07:34:09+08:00 它实际上git pull从给定分支中提取更改并针对您的本地存储库进行更新。 git fetch从给定分支中提取更改并将其放入镜像分支中,该分支只是一种隐藏分支,您可以在其中查看该分支的更改,然后与本地分支合并。 他git pull只是一个git fecth + git merge。git pull如果您真的怀疑可以从远程存储库中引入哪些更改,请不要使用。 rafaelmd 2020-04-10T14:23:24+08:002020-04-10T14:23:24+08:00 当您执行 agit fetch时,远程存储库中的更改(如果有)将下载到名为origin/master的文件夹中,该文件夹是一个隐藏文件夹。要包含对本地分支的更改,您需要将 master 与 origin/master 合并。 Git pull它会自动完成所有这些。 eugenio 2020-12-03T07:22:42+08:002020-12-03T07:22:42+08:00 非常简单:使用fetch您仅查询存储库中相对于本地副本的更改;并通过拉动将更改下载到本地。我认为 Sourcetree 在进行拉取之前会进行提取。
从文档中:
或进行免费翻译:
也就是说,它
git fetch
签入更改,但将它们留在另一个分支中,直到git merge
对本地分支完成签出。始终在存储库中,您有一个隐藏的分支,您可以使用
git branch -a
.那个隐藏的分支是
origin/master
。您可以使用
git fetch
将更改从远程存储库推送到分支origin/master
:现在您在 中进行了更改
origin/master
,但您必须将它们传递给分支master
,因为您必须使用:从这里你在你的分支中有新的变化
master
,就是这样。这是我为解释这部分而制作的图像:
使用
git pull
这些组合时git fetch
+git merge
。总之
git pull
,您可以避免使用更多命令,但我建议如果您刚刚开始使用 git,请继续使用git fetch
和git merge
它实际上
git pull
从给定分支中提取更改并针对您的本地存储库进行更新。git fetch
从给定分支中提取更改并将其放入镜像分支中,该分支只是一种隐藏分支,您可以在其中查看该分支的更改,然后与本地分支合并。他
git pull
只是一个git fecth + git merge
。git pull
如果您真的怀疑可以从远程存储库中引入哪些更改,请不要使用。当您执行 a
git fetch
时,远程存储库中的更改(如果有)将下载到名为origin/master的文件夹中,该文件夹是一个隐藏文件夹。要包含对本地分支的更改,您需要将 master 与 origin/master 合并。Git pull
它会自动完成所有这些。非常简单:使用fetch您仅查询存储库中相对于本地副本的更改;并通过拉动将更改下载到本地。我认为 Sourcetree 在进行拉取之前会进行提取。