git学习笔记- git pull

git pull命令用于提取和下载远程仓库的内容并且立即更新到本地仓库。该命令其实是git fetch和git merge的整合。首先会基于HEAD指向的本地分支执行git fetch,一旦内容下载完毕,会进入merge阶段。创建一个新的merge commit,然后将HEAD指向这个merge commit。

假设我们有如下git分支图:


此时git pull会下载所有从分叉开始的改动,E。git pull会提取远程分叉的commitA-B-C。然后创建一个本地的merge commit,包含分叉的远程改动。git分支图如下所示:


H为新的merge commit,包含远程commits A-B-C。

若使用git pull --rebase,则git分支图如下:


git pull --rebase没有创建一个新的commit,而是将远程commit A-B-C复制并且追加到本地仓库。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git 使用笔记 git原理: 文件(blob)对象,树(tree)对象,提交(commit)对象 tree对象 ...
    神刀阅读 9,143评论 0 10
  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 9,907评论 2 8
  • Add & Commit git init 初始化一个 Git 仓库(repository),即把当前所在目录变成...
    冬絮阅读 10,349评论 0 9
  • 1. GIT命令 git init在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个re...
    江边一蓑烟阅读 4,221评论 0 0
  • 查看、添加、提交、删除、找回,重置修改文件 git help # 显示command的help git sho...
    Swiftor阅读 6,348评论 0 2