git lfs 补充提交大文件操作流程

本文详细介绍了如何使用Git命令来修复误提交的大文件,并通过gitreset--hard、gitcherry-pick和gitlfs进行操作,确保提交历史的完整恢复。关键步骤包括记录提交历史、回退、找回代码、使用gitlfs标记大文件、重新提交和逐次恢复后续提交。该过程对于理解Git高级操作和管理大型文件至关重要。

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

原理简述

  • 首先git reset --hard 至错误提交记录的前一次提交;
  • 借助git cherry-pick命令找回错误提交的那次代码,cherry-pick执行后,找回的代码也是已经提交后的,使用git reset --soft将代码恢复至未提交状态;
  • 这时就可以对大文件补充 git lfs 标记操作(不会git lfs先去熟悉lfs),修改(标记)完成后,重新提交本次修改
  • 后续借助cherry-pick,一次次将之前的提交历史找回(找回过程中,可使用git lfs ls-files查看标记有没有丢掉)

操作步骤

    a. git log(记录近期提交历史)
    b. git reset --hard xxxx(强制回退至提交大文件之前)
    c. git cherry-pick xxxx (从git中拉取有问题的后一次提交)
    d. git reset --soft xxxx (撤销问题提交的commit记录,得到之前修改后未暂存未提交的文件记录)
    e. git lfs track filename
    f. git lfs ls-files (查看lfs是否标记成功)
    g. git add .gitattribute filename(将标记与被标记的文件添加到track列表)
    h. git commit (重新提交问题)
    i. git cherry-pick xxxx (从记录的提交历史里,拉取后续的提交记录,注意仅pick作者是自己的提交;不包含merge)
    j. git lfs ls-files (查看lfs是否标记成功,可选操作)
    k. 重复 i-j 直至恢复到最新代码
    l. git pull (一次性拉取远端别人提交的代码进行合并)
    m. git push 

注:“xxxx”代表commit id;reset–hard之后,之前提交过的记录都不可见了,所以必须首先自己记录下提交记录,即步骤a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值