Answer a question

I added a 212MB file to my folder and committed it and tried to push it. Git told me that the file size was too big so I can't push it. I deleted the file, but it is still shown when I try to push my code.

My actual steps were:

  1. I did git add .

  2. Then git commit -m "New css"

  3. Then git push origin development

  4. Then it took a long time to run the above command. It ended with saying "path/to/file/file.mp4 is 212MB which is too big. Failed to push".

  5. Then I deleted that file manually.

  6. Tried pushing again, same problem.

I was told by other stackoverflow answers to use git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD

I'm just trying to understand what this means. Will this affect my whole repo or just the above mentioned file? What happens if I manually deleted the file already? So the file path doesn't exist.

For example, since I tried pushing to the development branch, I did git push origin development. This failed, so assuming the file I'm trying to delete is named Testing.mp4, should this be the code:

git filter-branch --tree-filter 'rm -rf public/uploads/videos/testing.mp4' HEAD

Am I right? Again, this will ONLY delete the video and nothing else?

Answers

Deleting the file from filesystem won't necessary mean removing it from git if it was previously added to the index (git add path/to/file), but just record a delete operation.

Depending on what you did previously, git may be trying to push your various actions in order: add the file first (which fail due to file size) then delete it.

To actually stop tracking this file you could try to remove it from index: git rm --cached path/to/file

Remember later to always git rm a problematic file rather than simply deleting it, git rm will delete the file AND remove it from index at the same time.

A good expanation from manojlds lies here

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐