git pull 内部执行原理 git pull包含两个操作,git fetch和git merge git fetch:将远程仓库拉取到本地仓库 git merge:将本地仓库与分支进行merge git pull执行时,会先向远程发送git-upload-pack请求,携带是本地仓库commit的记录,如果一直就不需要拉取,不一样就将远程仓库拉取下来。 备注:ORIG_HEAD保存的是上次commit对象,git reset --hard ORIG_HEAD是将分支回滚到上次版本,本地仓库不变。