Remove Files completely from git repository along with its history
GitBitbucketDelete FileGit Problem Overview
I have uploaded a font file that I don't have the rights to distribute to git hub several updates ago.
I have a relatively inactive repository and I have the ability to notify all of my members if necessary. I've tried several of the solutions. I need to delete a file in my directory called Resources\Video\%font%.ttf
where %font%
is the name of the plain, italicized and bold versions of the font. What commands do I use?
Git Solutions
Solution 1 - Git
In that case you could to use Git Filter Branch command with --tree-filter
option.
syntax is git filter-branch --tree-filter <command> ...
git filter-branch --tree-filter 'rm -f Resources\Video\%font%.ttf' -- --all
Edit Updated
Note that git filter-branch
--index-filter
is much faster than --tree-filter
git filter-branch --index-filter 'rm -f Resources\Video\%font%.ttf' -- --all
/
instead of \
.
> In windows had to use Explanation about the command:
< command >
Specify any shell command.
--tree-filter:
Git will check each commit out into working directory, run your command, and re-commit.
--index-filter:
Git updates git history and not the working directory.
--all:
Filter all commits in all branches.
Note: Kindly check the path for your file as I'm not sure for the file path
Hope this help you.
Solution 2 - Git
According to the official git docs, using git filter-branch
is strongly discouraged, and the recommended approach is to use the contributed git-filter-repo command.
Install it (via package, or with package python3-pip, do a pip install).
The command to exorcise filename
is then:
git filter-repo --invert-paths --path filename
The --invert-paths
option indicates to exclude, not include the following paths.
Solution 3 - Git
git filter-branch --index-filter 'git rm --cached --ignore-unmatch Resources\Video\%font%.ttf' HEAD
can be much (up to 100x) faster than --tree-filter
because it only updates git history and not the working directory.
ref: https://stackoverflow.com/questions/36255221/what-is-the-difference-between-tree-filter-and-index-filter-in-the-git
ref: https://git-scm.com/docs/git-filter-branch