Очиститель репозитория BFG - перемещение истории git каталога из репозитория A в репозиторий B

У меня есть два репозитория, а именно. репозиторий A и репозиторий B. Я перемещаю один каталог из репозитория A, а именно. dir-to-move в репозиторий B. Но я хочу сохранить историю git только для этого каталога (т.е. dir-to-move), для которого git-filter-branch занимает огромное время. Поэтому я хочу использовать очиститель BFG Repo, который работает быстрее. Но я также хочу уменьшить размер моей папки .git. Так что вопрос в два раза

  1. Как мне выполнить следующую команду, используя очиститель репозиториев BFG?

git filter-branch --subdirectory-filter {каталог для перемещения -- --all

  1. Как уменьшить размер .git после запуска очистки репозитория BFG? (который сейчас находится в ГБ в МБ)

person BND    schedule 05.09.2018    source источник


Ответы (1)


Как мне выполнить следующую команду, используя очиститель репозиториев BFG?

git filter-branch --subdirectory-filter {dir-to-move} -- --all

Получен ответ на вопрос BFG Эквивалент git filter-branch -- subdirectory-filter отвечает на ваш вопрос:

В BFG такой функции нет — вам придется добавить ее самостоятельно, если вам это нужно.

Основное препятствие заключается в том, что в настоящее время BFG работает, не заботясь о конкретных путях больших двоичных объектов в репо. Он просто посещает все коммиты, а затем рекурсивно обрабатывает деревья и поддеревья каждого коммита. При этом он не отслеживает позицию «каталога» текущего поддерева, которое он обрабатывает, поэтому нет поддержки каких-либо функций, которые работают с полными путями.

person mloskot    schedule 28.11.2018
comment
Спасибо за разъяснение ! - person BND; 29.11.2018