Я пытаюсь переместить некоторые файлы в отдельный репозиторий, сохраняя историю их изменений, и пытаюсь сэкономить дисковое пространство, поскольку исходный репозиторий занимает более 5 ГБ, но для нового требуется <50 МБ. </p>
Итак, я переместил все файлы, которые необходимо переместить в новый репозиторий, в отдельную ветку, создал новый репозиторий.Используя следующие команды git, я смог сохранить историю, но новый репозиторий стал занимать то же место на диске, что и исходный:
git remote add originalreporemote **path**
git fetch originalreporemote
git merge originalreporemote/branchwithfilestomove --allow-unrelated-histories
git remote rm originalreporemote
Глядя на новый размер репозитория, я вижу, что он занимает тот же размеркак оригинал.Это избыточно для меня, поскольку в будущем не будет сценария, когда мне нужно будет ссылаться на полную историю исходного репозитория в новом.
История файлов, которые я переместил в новый репозиторий, должна занимать гораздо меньше места.
UPD
Я понимаю, что может быть трудно понять проблему, поэтому вы можете выполнить шаги по ее воспроизведению:
Позвольте мнедобавьте несколько шагов, которые позволят вам легко воспроизвести проблему:
- Создайте два репозитория,
- Зафиксируйте текстовый файл в основной ветке repo1, так что потребуется несколько КБ,
- Создать новую ветку в repo1,
- Оформить заказ обратно в основную ветку repo1,
- Добавить несколько больших файлов в repo1 и передать их в мастер repo1.Таким образом, теперь repo1 содержит 2 ветви - основную ветвь с большими файлами и текстовым файлом и вторую ветвь из шага № 3 только с текстовым файлом,
- Попытайтесь вытолкнуть вторую ветку из шага № 3 изпервый репозиторий во второй репозиторий, сохраняющий историю его изменений (команды приведены выше),
- Я ожидаю, что после этой операции размер второго репозитория будет таким же, как и в шаге № 3, но вНа самом деле он равен размеру первого хранилища.