首页 > 解决方案 > git push 未在 github 上显示,仍然出现 lfs 错误

问题描述

我最近在本地创建了一个新目录,并使用不同的源代码控制将我从另一个项目中所做的所有更改复制到了这个新目录中。

在我做的新目录中

git remote add origin git@github.com/user/repo.git //ssh url to my empty Github Repo

之后,我做了git statusgit add all 和 git commit。最后我做到了git push,我一直收到一个关于大文件无法推送到 Github 的错误。为此,我做到了git lfs installgit lfs track "*.[filename]"但这似乎不起作用,所以我只是从我的新目录中删除了它。删除后,我git status再次执行并提交了这些文件的删除。但是,当我推送时,我仍然收到有关大文件和签出lfs工具的错误。当我进入我的新目录时,git 抱怨的大文件不再存在。

标签: gitgithubgit-lfs

解决方案


您可以尝试在首次提交大文件之前将 repo 重置为:

git reset HEAD~2 --soft

然后把事情整理好commit,,push再一次。

另一种方法是使用filter-branchgit 手册页:

假设您想从所有提交中删除一个文件(包含机密信息或侵犯版权):

git filter-branch --tree-filter 'rm filename' HEAD

发生这种情况的原因是,即使您现在已经删除了这些文件,它们仍然是第一次提交的一部分。Git 想要保留存储库的完整历史记录(嘿,这是您想要使用它的原因之一,对吗?),因此它将这些文件作为提交历史记录的一部分。


推荐阅读