Git 代码更新:git fetch 和 git pull 的区别
2023-09-14 08:57:26 时间
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 分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp git diff tmp git merge tmp
从远程获取最新的版本到本地的 tmp 分支上,之后再进行 比较、合并
2. git pull:相当于是从远程获取最新版本并 merge 到本地
git pull origin master
上述命令其实相当于 git fetch + git merge
,
在实际使用中,git fetch 更安全一些,因为在 merge 前,我们可以查看更新情况,然后再决定是否合并。
为了更好的理解,画了个图:
相关文章
- Git常用命令
- Git远程02:git clone都做了什么
- Git远程01:git remote相关操作
- 使用git子模块实现代码复用
- 我是如何使用git的
- [Practical Git] Format commit history with git log arguments
- [Git] Stashing -- Ex
- git config --global core.editor “vim“
- 服务器用 git 进行部署出现代码冲突的处理
- Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作
- 如何使用Git建立本地仓库并上传代码到GitHub
- no git.exe found. TortoiseGit requires a git.exe for its operations(e.g.,such as provided by the Gi
- 【Git技巧】第八篇 git历史提交版本回退(可切换任意已经提交的版本)
- Pycharm中修改git提交代码的账户和用户名【Git追溯注解,git blame】
- 【代码管理】Git 之 15 分钟快速应用