git pull 与 git fetch

发布时间 2023-08-09 16:45:33作者: Jeffxue

git fetchgit pull 都是用来更新本地代码仓。

1、 git fetch是用来更新本地分支 refs/remotes/<remote>/的内容,它相当于远程仓库在本地的缓存。这个指令的操作是安全的,因为它只是把远程分支对应的内容拉到本地,成为远程分支在本地的一个副本,此时还未与本地的对应当前分支refs/heads进行合并。后续可以通过 git mergegit rebase进行合并。

2、 git pull 是相当于 git fetch+ git merge,用于将远程仓库的内容拉下来,直接与本地的当前分支进行合并。将本地当前分支的内容更新到和远程仓库相同的版本,需要注意有时会有冲突要处理。


参考资料:

  1. What is the difference between 'git pull' and 'git fetch'?
  2. git pull 和 git fetch的区别?