网上有人介绍说git pull=git fetch + git merge ,可以用来将远程仓库更新到本地仓库,但是实际在git pull运行之后强制执行了一段分支合并,如果存在冲突的的话就可能看不到具体的细节,导致无法及时发现错误。
在讨论这两个命令之前,需要清楚的是两个问题,本地master分支和远程仓库的master分支的区别,本地master分支可以在本地操控,但是远程仓库的master分支就可能在多人协作的情况下已经由其他人发生了改变,所以直接pull就存在冲突的可能,首先master分支指的的本地的master分支,远程的master分支用来代表的是origin/master分支,所以如果直接git fetch之后,还可以存在这两个分支的不同。
具体的情况这个博客介绍的比较精彩了:详解git pull和git fetch的区别