My team is preparing to migrate to Git and we'd like to start with a small repository. The initial Git repository created by git-svn is about 10GB large due to binary files and hundreds of version branches.
Cleaning big files out is easy, the tricky part seems to be the number of branches.
For the git migration, we'd like to start at a certain point in time (X) with only certain (the newest) branches. We do not have a "trunk" - but instead different version branches that are maintained over a longer time period:
---- Version 1 ------------------------
\---------- Version 2--------------
\--------- Version 3----
I easily found out how to clean big blobs from the history (BFG, git filter-branch).
My Question:
How can we remove all branches except a few specific ones from history so that we only have, say, branch "version 3" in the fresh repository? Ideally, we'd like the history to begin at the start commit where this branch was created:
--------- Version 3----
Is there a way to do this with git filter-branch
or another possibility?