git提交用push,对应的拉取用pull,但是又有一个获取fetch,拉取和获取有啥区别?
pull 从远程拉取最新版本到本地仓库,并会自动合并。
fetch 从远程拉取最新版本到本地仓库,不会自动合并。
即:pull = fetch + 合并
实际使用中 ,使用git fetch 更安全,在merge之前可以看清楚更新情况,再决定是否合并。
由于先抓取更新再合并到本地分支这个流程很常用,因此 Git 提供了一个专门的命令来完成这两个操作,它就是 git pull。
git fetch 不会做的事
git fetch 并不会改变你本地仓库的状态。它不会更新你的 master 分支,也不会修改你磁盘上的文件。
理解这一点很重要,因为许多开发人员误以为执行了 git fetch 以后,他们本地仓库就与远程仓库同步了。它可能已经将进行这一操作所需的所有数据都下载了下来,但是并没有修改你本地的文件。
所以,你可以将 git fetch 的理解为单纯的下载操作。
参考: