views:

1012

answers:

2

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.

+1  A: 

In short, this would involve rewriting the entire git commit tree to exclude the files. Have you tried using git gc and git pack to have git compress your repository?

Martin OConnor
+4  A: 

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

http://www.kernel.org/pub/software/scm/git/docs/git-filter-branch.html

http://www.kernel.org/pub/software/scm/git/docs/git-rebase.html

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.

wnoise