Article version: GitHub.com
Removing files from a repository's history
To remove a large file from your repository, you must completely remove it from your local repository and from GitHub.
Warning: These procedures will permanently remove files from the repository on your computer and GitHub. If the file is important, make a local backup copy in a directory outside of the repository.
If you added a file in an earlier commit, you need to remove it from the repository's history. To remove files from the repository's history, you can use the BFG Repo-Cleaner or the
git filter-branch command. For more information see "Removing sensitive data from a repository."
If the file was added with your most recent commit, and you have not pushed to GitHub, you can delete the file and amend the commit:
- Open TerminalTerminalGit Bash.
- Change the current working directory to your local repository.
- To remove the file, enter
git rm --cached:
$ git rm --cached giant_file # Stage our giant file for removal, but leave it on disk
- Commit this change using
$ git commit --amend -CHEAD # Amend the previous commit with your change # Simply making a new commit won't work, as you need # to remove the file from the unpushed history as well
- Push your commits to GitHub:
$ git push # Push our rewritten, smaller commit