git pull 和 git fecth 的区别
平时在使用git的时候,更新代码习惯性的会去使用git pull命令。后来才注意到,git fetch的使用会是更加合理的,安全的。
(以下部分内容参考自网上资料)
Git中从远程的分支获取最新的版本到本地有这样2个命令:
1. git fetch
相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
git log -p master..origin/master
git merge origin/master
- 首先从远程的origin的master主分支下载最新的版本到origin/master分支上
- 然后比较本地的master分支和origin/master分支的差别
- 最后进行合并
2. git pull
相当于是从远程获取最新版本并merge到本地
git pull origin master
上述命令其实相当于git fetch 加上 git merge
直接从主干上下载下来代码,然后自动进行合并
总结:
所以在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
补充:在idea中,当你需要切换分支开发时,可以使用git fetch更新代码及分支信息,就可以看到最新在远端创建的分支。