mathd
mathd

Reputation: 2555

Is there a way to purge some files from the history of git?

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.

Upvotes: 6

Views: 2460

Answers (2)

wnoise
wnoise

Reputation: 9922

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.

Upvotes: 5

Martin OConnor
Martin OConnor

Reputation: 3593

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?

Upvotes: 1

Related Questions