Git--- 把同事的提交的代码给覆盖了,怎么还原

本文分享了在不慎覆盖同事提交代码后,采取的两种恢复措施。第一种方法涉及使用git reset --hard还原本地版本并尝试强制推送至远程仓库,但因配置问题未果。第二种方法适用于小规模代码更改,通过手动复制覆盖代码并重新提交至远程仓库来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天大意操作,把同事的提交的代码给覆盖了,于是采用了下面的几种解决方法。

  1. 方法一:
1. 首先还原本地的版本到覆盖的版本,然后强行把还原的版本推送到远程仓库中。
   
    首先在本地进行还原。
    git reset --hard  a1edaeb37a5
    
    # 然后强制push 到远程仓库  语法:git push -f <remote> <branch>
    git push -f  git@192.168.1.4:chenfulin5/u-boot_2016.05.git  master:master

  但是由于git  push -f 一个比较危险的操作,一般git把git push -f  这是为默认不能执行。

  在.git的config中配置:receive.denyNonFastForwards = true

但是仍然无法强制推送到远程仓库。有可能与receive.denyNonFastForwards = true 配置设置不成功有关,也有可能与 使用的 gerrit有关。

(少使用reset --hard,如果你在上线前这么操作一波,也不知道有没有丢失代码,那个压力是空前大的,亲测)

  1. 第二种方法:(这种方法的使用场景是,修改代码量比较少的情况下)

   将覆盖的代码,拷贝后,覆盖到现在的代码中进行还原处理了。最后将还原后的代码提交到远程仓库。

  (尽量使用这种方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值