我有一个大文件夹,大小为GB。其中的文件超过100 MB。 我确实上演了文件夹,然后提交。然后我执行了:
git push origin master
但是我有错误。从错误中我知道无法上传特定文件夹。 我将其移至工作目录之外。
现在我一次又一次提交目录
push origin master
尽管我已删除大文件,但Git仍然抱怨大文件。
我使用以下方法检查状态:
git status
我收到此消息:
On branch master
Your branch is ahead of 'origin/master' by 5 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
如果我尝试tp将更改推送到原始主机,则会收到有关大文件的错误。我无法删除或取消跟踪它们。
我的目录如下:
C:\Users\myuser\Documents\GitHub\myproject\data\largedirecor
大目录是有问题的,我将其移至项目目录之外。但这并没有解决问题。
如何在不因文件大而被阻塞的情况下推送更改?如何使git忘记它。
答案 0 :(得分:1)
您已经签入了文件,因此git知道了它们。仅仅删除文件并不会达到预期的效果,您需要摆脱提交或更改添加文件的位置。
您可以使用
git rebase -i origin/master
以交互方式更改您所做的提交。将打开一个编辑器。
您现在有2个选择:
1)所有文件都在一次提交中引入,没有其他文件。在这种情况下,只需删除有问题的提交行。它将从您的历史记录中删除,因此不会被推送。
2)同一提交中还有其他文件:用pick
替换行首的edit
。然后通过删除有问题的文件来编辑提交并执行git rebase --continue
。
然后,文件不再在您的提交历史记录中。