R – way to purge some files from the history of git

gitversion-control

I have migrated a couple of project from Subversion to git. It work really well but when I clone my repository, it's really long because I have all the history of a lot of .jar file included in the transfer.

Is there a way to keep only the latest version of certain type of file in my main repository. I mainly want to delete old version on binary file.

Best Solution

You can remove old versions with either "git rebase" -i or "git filter-branch"

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

Other docs and tutorials: http://git-scm.com/documentation

Keeping only the current version from now forward is not supported. Your best bet is to instead keep in revision control a small script that downloads (or builds, or otherwise generates) the large .jar file.

As this modifies history, it will make all previous clones or pulls from this repository invalid.