【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】

这篇具有很好参考价值的文章主要介绍了【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 问题描述

最近使用Gitee一直在独立开发某个项目,某次因为某个测试文件比较大,超过了100MB,gitee无法接受,上传失败。但是当时我没有发现上传失败,就没有处理,等到今天发现的时候,已经提交过好多次代码了,都是提交到了缓存里,并没有提交到远程分支下。
报错如下图所示:
【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】

2. 尝试解决

google了好多方法,常见的解决办法如下:

$ git filter-branch --force --index-filter  "git rm --cached --ignore-unmatch SampleData/nx/13160600016953_A.prt_Result 20230607.brep"  --prune-empty --tag-name-filter cat -- --all
$ git filter-branch --tree-filter 'rm -f SampleData/nx/13160600016953_A.prt_Result 20230607.brep' --tag-name-filter cat -- --all
$ git rm --cached 'SampleData/nx/13160600016953_A.prt_Result 20230607.brep'
$ git filter-branch --tree-filter 'rm -f SampleData/nx/13160600016953_A.prt_Result 20230607.brep' HEAD
$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch SampleData/nx/13160600016953_A.prt_Result 20230607.brep' --$ prune-empty --tag-name-filter cat -- --all
$ git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch SampleData/nx/13160600016953_A.prt_Result 20230607.brep' --prune-empty --tag-name-filter cat -- --all

但是都不能解决问题,尝试上述代码后push代码,显示 Ref ‘refs/heads/master’ is unchanged,push仍然失败。

3. 最终解决方案

1 借助git reset --soft 回到提交大文件之前的状态

$ git reset --soft 99a8a18ead63802df7cc0163dfa8afe4db0fb059

git reset --soft 命令用于将 Git 存储库中的当前分支的 HEAD 指针和索引(Index)重置为指定提交,但不更改工作目录中的文件。这意味着此命令将取消之前的提交,并将其撤回到工作区,以便修改之前提交的内容并重新提交。

2 git restore --staged 取消暂存

$ git restore --staged  .

将已暂存(staged)的指定文件的更改还原到未暂存(unstaged)状态。要注意的是,该命令仅针对已经通过 git add 命令添加到暂存区的文件。

3 修改.gitignore,使大文件不上传

修改.gitignore后,提交.gitignore,从而使上传的数据不包括测试大文件

$ git add .gitignore
$ git commit -m "add .gitignore"
$ git push

4 提交剩余的修改

把后面所有的修改合为一个,统一一次性全部提交

$ git add .
$ git commit -m "XXX"
$ git push

成功解决此问题,效果如下
【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】文章来源地址https://www.toymoban.com/news/detail-489437.html

到了这里,关于【Git删除大文件失败,提示WARNING: Ref ‘refs/heads/master‘ is unchanged的解决思路】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git error:‘fatal: Couldn‘t find remote ref master‘

    如果出现该错误提示,可能是因为使用了旧命令: master现在被认为是有种族歧视的,github将其换成了 main ,所以现在使用pull可以写为: 如需要将已有repos的 master 换为 main ,可依照以下步骤: 1-重命名本地分支: 2-重命名远程分支 3-删除远程分支 master 4-告知团队中的其他人

    2024年02月09日
    浏览(39)
  • 关于git error: refname refs/heads/master not found的报错

    背景:从 2020 年 10 月 1 日起,在 Github 平台上创建的所有新的源代码仓库将默认命名为 \\\"main\\\" ,不再是原先的 \\\"master\\\" 。 原因是“master”容易引起歧义,所以普遍使用中性词“main” 但此次修改并不会影响先前的存储库 今天打算往git仓库提交代码,按惯例复制三行代码 但运行

    2024年02月11日
    浏览(48)
  • git报错 error: cannot lock ref ‘refs/remotes/origin/master‘: unable to resolve reference ‘refs/remote

    使用sourceTree,拉取代码,提示错误: From http://111.11.111.7:10011//cp002000-1/djzcsgaaa/accobbting/yunasdfghtform    6dcfc7d2..55df1ffc  test       - origin/test error: cannot lock ref \\\'refs/remotes/origin/master\\\': unable to resolve reference \\\'refs/remotes/origin/master\\\': reference broken  ! [new branch]        master     - origin

    2024年02月04日
    浏览(51)
  • git branch --show-current 和 git rev-parse --abbrev-ref HEAD 区别

    git branch --show-current 和 git rev-parse --abbrev-ref HEAD 命令都可以用于获取当前所在的 Git 分支名称。 但是,它们之间有一些不同点: git branch --show-current 命令是 Git 2.22 版本中新增的,可以直接显示当前所在分支的名称,而不需要进行额外的选项或管道。如果版本较旧,则执行该命

    2024年02月14日
    浏览(54)
  • git pull Your configuration specifies to merge with the ref ‘refs/heads/xxxx‘ from the remote, but n

    Your configuration specifies to merge with the ref ‘refs/heads/xxxx’ from the remote, but no such ref was fetched.) 1.主要是因为网页上仓库fork别人的,更新了就没了分支,但是本地还有 2.需要切换到丢失的分支下,需要先解锁: 3.然后在执行git pull会有提示: 但是这样问题还不能根本性的解决:

    2024年02月04日
    浏览(55)
  • git rev-parse --abbrev-ref fatal: HEAD does not point to a branch

    Jenkins执行git命令报错 git rev-parse --abbrev-ref HEAD@{upstream} fatal: HEAD does not point to a branch, 10:12:21 fatal: HEAD does not point to a branch 10:12:21 ERROR Error loading vue.config.js: 10:12:21 ERROR Error: Command failed: git rev-parse --abbrev-ref HEAD@{upstream} 10:12:21 fatal: HEAD does not point to a branch 导致整个报错的原因

    2024年02月01日
    浏览(42)
  • 【Git】Git commit至Gitee报错‘remote: error: hook declined to update refs/heads/master‘的解决方法

    Git commit至Gitee报错‘remote: error: hook declined to update refs/heads/master‘的解决方法 进入到Gitee的 邮箱管理 中,取消勾选 禁止命令行推送暴露个人邮箱

    2024年02月04日
    浏览(50)
  • Gitee推送被拒【! refs/heads/master:refs/heads/master [remote rejected] (hook declined)Done】解决方案

    网上看了很多,说什么没有权限啊,内容重复的都试过了,但是!!!都没用,后来自己慢慢研究,发现了问题  第一、进gitee个人主页,点击旁边的齿轮进入设置    第二、点击邮箱管理,取消勾选,问题解决   只针对Gitee报错推送被拒,报错!    refs/heads/master:refs/heads/

    2024年02月03日
    浏览(37)
  • git push 到gitlib提示! [rejected] master -> master (non-fast-forward) error: failed to push some refs t

    一、git push到gitlab提示,大概意思是本地库和远程库没有同步导致无法提交合并,冲突导致无法push。 二、解决方案 三、操作界面,可以push到gitlab了。 三、參考文章 https://www.cnblogs.com/wml-it/p/15585052.html

    2024年02月06日
    浏览(52)
  • 踩坑:gitee报错fatal: Couldn‘t find remote ref master。

    在通过vscode提交代码到远程仓库的时候,报了这个错:fatal: Couldn\\\'t find remote ref master。 然后,我在网上找了超级多方法,基本都是检查仓库配置,我贴一下,看大家是否需要: 1.检查本地GIT的配置 使用以上命令来检查本地的用户名和邮箱是否填写正确 2.检查远程仓库配置 如

    2024年02月11日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包