Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove a file permanently in Git without getting "WARNING: Ref 'refs/heads/master' is unchanged"?

I have been googling and reading various posts around the net and I've tried:

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch Launcher\lib" --prune-empty -- --all

and

git filter-branch --tree-filter "rm -rf Launcher\lib" --prune-empty -- --all

All resulting in a:

WARNING: Ref 'refs/heads/master' is unchanged

There are other clones of this repository and a central server also. I will push changes to the server, as I understand, others with clones just need to fetch and rebase (not merge)? Would it still work if they have made changes?

like image 859
Tower Avatar asked Feb 11 '12 14:02

Tower


2 Answers

Okay I solved the problem, it was the path that was wrong. I changed this:

Launcher\lib

to this:

Launcher/lib/

and now it works ;)

like image 78
Tower Avatar answered Sep 22 '22 17:09

Tower


I'm gonna put this here as a future reference since I had the same problem: If you use cmder (or other ConEmu flavors), use double quotes instead of single quotes.

Also wrap the path in quotes if you have some white space in your address:

git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch 'server/bin/some file.txt'" \
--prune-empty --tag-name-filter cat -- --all

That was the problem when I got that error.

like image 24
Yar Avatar answered Sep 21 '22 17:09

Yar