Git

git fetch 和 git pull 的区别

2020-03-23  本文已影响0人  coderfl

前言

在我们使用git的时候用的更新代码是git fetch,git pull这两条指令。
但是有没有小伙伴去思考过这两者的区别呢?
有经验的人总是说最好用git fetch+git merge,不建议用git pull。
也有人说git pull=git fetch+git merge,真的是这样吗?为什么呢?
既然如此为什么git还要提供这两种方式呢?

1. 相同点

2. 不同点

先补充一些git里面相关的一些知识:

  • .git/refs/head/[本地分支]
  • .git/refs/remotes/[正在跟踪的分支]

1. git fetch

2. git pull

3. 总结

不要用git pull,用git fetch和git merge代替它
git pull的问题是它把过程的细节都隐藏了起来,以至于你不用去了解git中各种类型分支的区别和使用方法。当然,多数时候这是没问题的,但一旦代码有问题,你很难找到出错的地方。看起来git pull的用法会使你吃惊,简单看一下git的使用文档应该就能说服你
**将下载(fetch)和合并(merge)放到一个命令里的另外一个弊端是,你的本地工作目录在未经确认的情况下就会被远程分支更新。当然,除非你关闭所有的安全选项,否则git pull在你本地工作目录还不至于造成不可挽回的损失,但很多时候我们宁愿做的慢一些,也不愿意返工重来 **
上一篇下一篇

猜你喜欢

热点阅读