本文转载自微信公众号「JS每日一题」,说说作者灰灰。理解转载本文请联系JS每日一题公众号。区别 先回顾两个命令的定义 再来看一次git的工作流程图,如下所示: 可以看到,区别git fetch是说说将远程主机的最新内容拉到本地,用户在检查了以后决定是理解否合并到工作本机分支中 而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,区别这样可能会产生冲突,说说需要手动解决 在我们本地的理解git文件中对应也存储了git本地仓库分支的commit ID和 跟踪的远程分支的commit ID,对应文件如下: 使用 git fetch更新代码,本地的说说库中master的commitID不变 但是香港云服务器与git上面关联的那个orign/master的commit ID发生改变 这时候我们本地相当于存储了两个代码的版本号,我们还要通过merge去合并这两个不同的理解代码版本 也就是fetch的时候本地的master没有变化,但是区别与远程仓关联的那个版本号被更新了,接下来就是在本地merge合并这两个版本号的代码 相比之下,使用git pull就更加简单粗暴,会将本地的代码更新至远程仓库里面最新的代码版本,如下图: 一般远端仓库里有新的内容更新,当我们需要把新内容下载的时候,就使用到git pull或者git fetch命令 fetch 用法如下: 例如从远程的origin仓库的master分支下载代码到本地并新建一个temp分支 如果上述没有冒号,云服务器则表示将远程origin仓库的master分支拉取下来到本地当前分支 这里git fetch不会进行合并,执行后需要手动执行git merge合并,如下: pull 两者的用法十分相似,pull用法如下: 例如将远程主机origin的master分支拉取过来,与本地的branchtest分支合并,命令如下: 同样如果上述没有冒号,则表示将远程origin仓库的master分支拉取下来与本地当前分支合并 相同点: 不同点: 参考文献一、说说是理解什么
二、用法
三、区别
上一篇
下一篇