Wanted to remove entire pdfs directory from and rewrite git history to remove all traces from it.
First i deleted the directory manually and commited those changes.
1
2
3
| rmdir /s /q pdfs
git add -u
git commit -m "delete pdfs"
|
The went about cleaning up git history thru filter-branch
command. There are ample of warnings online about it being horribly slow (it was slow for me as well, took over ~2 hours to purge 2 directories).
1
2
3
4
5
6
7
8
9
10
11
12
13
| git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch pdfs/" HEAD
Rewrite e59e7d42e69ad0cde259b32f63b43a70730f231b (1048/1097) (3254 seconds passed, remaining 152 predicted)
rm 'pdfs/NX-bit.pdf'
rm 'pdfs/OziMem08B.pdf'
rm 'pdfs/PointersAndMemory.pdf'
rm 'pdfs/Reinders_1045.pdf'
rm 'pdfs/Reinders_1300.pdf'
rm 'pdfs/Reinders_930.pdf'
...
rm 'pdfs/virtualization.pdf'
rm 'pdfs/whymb.2010.07.23a.pdf'
Rewrite eb2743f0f1f1c8375a5bd265a4acad1f2fb4adc3 (1097/1097) (3332 seconds passed, remaining 0 predicted)
Ref 'refs/heads/source' was rewritten
|
Once done then ensured that git
does gc and helps reduce size
1
2
3
4
| git update-ref -d refs/original/refs/heads/source
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push -f
|
A few links (click to expand..)