git - git push 未在 github 上显示,仍然出现 lfs 错误
问题描述
我最近在本地创建了一个新目录,并使用不同的源代码控制将我从另一个项目中所做的所有更改复制到了这个新目录中。
在我做的新目录中
git remote add origin git@github.com/user/repo.git //ssh url to my empty Github Repo
之后,我做了git status
git add all 和 git commit。最后我做到了git push
,我一直收到一个关于大文件无法推送到 Github 的错误。为此,我做到了git lfs install
,git lfs track "*.[filename]"
但这似乎不起作用,所以我只是从我的新目录中删除了它。删除后,我git status
再次执行并提交了这些文件的删除。但是,当我推送时,我仍然收到有关大文件和签出lfs
工具的错误。当我进入我的新目录时,git 抱怨的大文件不再存在。
解决方案
您可以尝试在首次提交大文件之前将 repo 重置为:
git reset HEAD~2 --soft
然后把事情整理好commit
,,push
再一次。
另一种方法是使用filter-branch
git 手册页:
假设您想从所有提交中删除一个文件(包含机密信息或侵犯版权):
git filter-branch --tree-filter 'rm filename' HEAD
发生这种情况的原因是,即使您现在已经删除了这些文件,它们仍然是第一次提交的一部分。Git 想要保留存储库的完整历史记录(嘿,这是您想要使用它的原因之一,对吗?),因此它将这些文件作为提交历史记录的一部分。
推荐阅读
- angularjs - 在更改时对引导导航选项卡进行验证
- webpack - webpack-dev-server 网络不可用
- php - 尝试从 html 更改为 php 时某些元素丢失/更改
- string - 如何在 LUA 5.1 中分隔字符串中没有空格的表情符号
- amazon-web-services - aws api 网关和 lamda - 如何获取 event.body
- c++ - 使用分配器 C++ 创建元组
- excel - 列中的平均特定值
- limit - wkhtmltopdf 如何设置 html 页脚和页眉的缓存?
- c# - 从非托管 C/C++ 代码调用 C# .NET 方法
- php - 未定义的变量,即使我定义了它