git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢?
每一个本地库下都有一个.git的隐藏文件夹,文件夹中的文件保存着跟这个本地库相关的信息
.git\logs\refs\remotes\origin\master(不变)
本地库更新至最新,git pull会将本地库更新至远程库的最新状态
由于本地库进行了更新,HEAD也会相应的指向最新的commit id
所以虽然从结果上来看,git pull = git fetch + git merge,但是从文件中保存的commit id来看,实现上不是这样实现的
为了更好的理解,画了个图:
git fetch和git pull之间的区别--转载