Моя команда готовится перейти на Git, и мы хотели бы начать с небольшого репозитория. Начальный репозиторий Git, созданный git-svn, имеет размер около 10 ГБ из-за двоичных файлов и сотен веток версий.
Очистить большие файлы легко, но самая сложная часть - это количество ветвей.
Для миграции git мы хотели бы начать в определенный момент времени (X) только с определенными (новейшими) ветвями. У нас нет «ствола», а вместо этого есть разные ветки версий. которые сохраняются в течение более длительного периода времени:
---- Version 1 ------------------------
\---------- Version 2--------------
\--------- Version 3----
Я легко узнал, как убрать большие капли из истории (BFG, git filter-branch).
Мой вопрос:
Как мы можем удалить все ветки, кроме нескольких конкретных, из истории, чтобы у нас была, скажем, ветка «версия 3» в новом репозитории? В идеале мы бы хотели, чтобы история начиналась с начальной фиксации, в которой была создана эта ветка:
--------- Version 3----
Есть ли способ сделать это с помощью git filter-branch
или другой возможности?