---
title: Git Pull Vs Git Fetch
localeTitle: Git Pull和Git Fetch
---
git用户经常使用这两个命令。让我们看看两个命令之间的区别。

为了上下文，值得记住我们​​可能正在克隆回购中工作。什么是克隆？只是另一个存储库的副本。它基本上是你自己的别人的源代码副本。

也就是说，为了让您的克隆更新可能已经应用于原始的任何更改，您需要将它们带到您的克隆。这就是`fetch`和`pull`进来的地方`git fetch`是告诉你的本地git从原始文件中检索最新的元数据信息的命令（但是没有进行任何文件传输。更像是检查是否有任何文件传输。可用的变化）。另一方面， `git pull`会从远程存储库中带来（复制）这些更改。

例如
```
git pull origin ankur bugfix 
```

需要注意的是，工作站上通常至少有三个项目副本。一个副本是您自己的存储库，其中包含您自己的提交历史记录（已保存的历史记录，可以这么说）。第二个副本是您正在编辑和构建的工作副本（尚未提交到您的仓库）。第三个副本是远程存储库的本地“缓存”副本（可能是您克隆自己的原始副本）。您可以使用`git fetch`来了解自上次拉动以来远程repo / branch中所做的更改。这有助于在进行实际拉取之前进行检查，这可能会更改当前分支和工作副本中的文件（并且可能会丢失您的更改等）。
```
git fetch 
 git diff ...origin 

```