2016-03-11 2 views
1

Когда я начал использовать Mercurial, я сохранил все мои «исследования & ресурсов» в рамках репо, в которое включены GBs видео. Эти большие файлы накапливаются с течением времени и отслеживаются в наборах изменений.Самый простой способ удалить GB из нежелательной истории из ртутного хранилища

Недавно я удалил эти папки из репо, потому что хотел бы открыть проект с открытым исходным кодом, и это просто личные ресурсы, которые только взвешивают репозиторий.

Однако, несмотря на перемещение этих ресурсов из репо, все видео все еще хранятся в истории. Это затрудняет клонирование репо на сервер и, по-видимому, невозможно подтолкнуть его к BitBucket.

Правильно ли я считаю, что было бы проще сделать резервную копию текущего репо, hg init новым, только с основными файлами проекта (начиная с истории версий), а также сделать это как забавное обучение опыт?

ответ

1

Возможно создание совершенно нового хранилища. Однако история может быть интересной. Вы можете использовать hg convert в старом репозитории и исключить файлы, которые вы не хотите быть частью нового репозитория в этом процессе. Затем вы можете совместно использовать созданный новый репозиторий.

hg convert --filemap FILEMAP old-repo new-repo 

, где FILEMAP представляет собой файл, который содержит правила преобразования, например,

exclude path/to/largefiles 

заказ hg help convert а. Старый и новый репозиторий будут аналогичным образом несвязаны, так как это будет новый репозиторий, созданный простым hg init. Но вы сохранили часть истории и файлы, которые вы хотите сохранить.

+0

Спасибо. Как я могу исключить путь/в/большие файлы, если я переместил и переименовал эти папки несколько раз? Должен ли я исключать все возможные пути, по которым эти файлы существовали во время истории репо? – inersha

+0

Я не проверял себя, но, вероятно, да. Проверьте предыдущие имена, получив историю одного (или нескольких) файлов: 'hg log --follow FILENAME' – planetmaker

+0

Наконец, пока у меня есть я, я должен сделать резервную копию старого репо или оставить' hg convert' leave старо-репо не затронуто? Еще раз спасибо. – inersha

Смежные вопросы