git fetch 和git pull 的差别

Posted 我的世界是我的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git fetch 和git pull 的差别相关的知识,希望对你有一定的参考价值。

1、简单概括

先用一张图来理一下git fetchgit pull的概念:

 

 

可以简单的概括为:

git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。

git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。

 

2、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:

git fetch orgin master //将远程仓库的master分支下载到本地当前branch中

git log -p master  ..origin/master //比较本地的master分支和origin/master分支的差别

git merge origin/master //进行合并

也可以用以下指令:

git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支

git diff tmp //將當前分支和tmp進行對比

git merge tmp //合并tmp分支到当前分支

3. git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master

git pull 相当于从远程获取最新版本并merge到本地

在实际使用中,git fetch更安全一些

以上是关于git fetch 和git pull 的差别的主要内容,如果未能解决你的问题,请参考以下文章

git fetch 和 git pull 的差别

git fetch 和git pull 的差别

第二章-第二题(每人自己建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别。)--by侯伟婷

Git 代码更新:git fetch 和 git pull 的区别

差异:git clone , git fetch, git pull和git rebase

第二章-第二题(练习使用git的add/commit/push/pull/fetch/clone等基本命令)--梁绍楠