Git实验室——快进式推送(FastForwards)与非快进式推送(NonFastForwards)

本文详细介绍了Git的快进式(FastForward)和非快进式(NonFastForwards)推送。快进式推送允许顺利更新远程版本库,而非快进式则需要强制推送(-f)且可能导致他人提交丢失。通过示例演示了两种推送方式的区别,强调非快进式推送的风险,并提出通过设置`receive.denyNonFastForwards`防止非快进式推送。
摘要由CSDN通过智能技术生成

本篇博客介绍git push的快进式推送和非快进式推送,也可以在此处访问。首先记住,快进式推送是合理地,非快进式推送时不合理的。所谓的快进式推送(FastForwards),指的是git push时,远程版本库的最新提交是本地版本库的祖先提交,此时,git push是可以顺利进行的,push之后远程版本库的提交状况与本地版本库是一致的。而如果执行git push时,远程版本库的最新提交不是本地版本库的祖先提交,那么push是会被拒绝的,因为如果可以顺利将本地的提交push到远程版本库,那远程版本库的最新提交该何去何从?总不能就直接无视它,往上堆吧。此时也不是不可以push,执行git push -f就可以强制推送,这就是所谓的非快进式推送(NonFastForwards)。

一起来看一个例子,该例子展示了这两种推送的区别:

Step1:首先先来检查一下上游版本库rere.git,两个本地版本库user1,user2的提交状况:

3.1

可见当前远程版本库和两个本地版本库的提交状况是一致的,最新提交都是fa7fe。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值