Thread (5 messages) flat view 5 messages, 4 authors, 2016-06-15

Re: Removing some files from history

From: Michael J Gruber <hidden>
Date: 2016-06-15 22:45:29

Gennady Kushnir venit, vidit, dixit 17.10.2008 12:38:
Hello all
I'm not yet subscribed, but I wish I shall get reply anyway

I'm going to make my repository public, but I have found that one of
my files contains some private data that I would not like to share.
Is it possible to remove that file from all commits in my local
repository history before publishing it?
Or it would be easier to start publishing with just my current state
(whith all private data cleaned up)?

Thanks in advance.
Gennady
Use

git filter-branch --index-filter 'git rm --cached secret' -- --all

or

git filter-branch --tree-filter 'rm -f secret' -- --all

where 'secret' is the name of the file to be removed.

After that, make sure you clean up your repo before publishing:
Clean out the original references (command on 1 line):

git for-each-ref  --format='%(refname)' refs/original |while read ref;
do git update-ref -d $ref;done

Clean out the reflog:

git reflog --expire=0 expire

Remove the old objects and packs:

git prune
git repack -adf

[Makes me feel this should be easier.]

Michael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help