git FETCH_HEAD & 版本回滚 ORIG_HEAD

一、

  • 首先从远程仓库 clone 到本地仓库,当前的版本库只有一个 master 分支。

在这里插入图片描述

  • 接着在远程仓库创建 dev 分支,新建文件 file6.txt,commit 为 d13224

在这里插入图片描述

  • git fetch 拉取远程仓库的内容到本地仓库。

在这里插入图片描述

  • 执行 git fetch 之后,git 版本库中会多了一个文件 FETCH_HEAD。
  • FETCH_HEAD 分别记录了远程仓库的 master 分支和 dev 分支的最新 commit。

在这里插入图片描述

  • 只有 git fetch 动作,会让 FETCH_HEAD 文件的内容更新。

在这里插入图片描述

  • 远程仓库的 dev 分支再次提交 commit。
    在这里插入图片描述
  • 可以看到,git pull 的本质就是:
  • 先执行 git fetch,更新当前 dev 分支的最新的 commit 信息。
  • 再执行 git merge,使用 FETCH_HEAD 第一个标注的内容作为 merge 的目标(此处就是 远程仓库的 dev 分支)。

在这里插入图片描述

  • 还可以看到,在执行完 merge 动作之后,git 版本库中多了一个文件:ORIG_HEAD。
  • 可以看到,ORIG_HEAD 的内容,就是 dev 分支的上一次 commit。

在这里插入图片描述

  • 该 ORIG_HEAD 文件是 git 版本库在我们 merge 合并之后,”反悔“使用的,即把合并后的版本回滚撤销。

在这里插入图片描述

  • 之后,我们还是可以再次进行合并的。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值