@expressrus

Как поднять репо на уровень выше в каталоге?

Сейчас гит включен в C:\OSPanel\domains\mysite\application\frontend
Понадобилось теперь включить и гит и бекенд. Собственно есть команды чтобы подняться в C:\OSPanel\domains\mysite с добавлением новых файлов, при этом все старые коммиты из frontend должны сохраниться?
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
В целом Евгений дал правильное решение и рецепт сработает. После перемещения репозитория гит скажет что вы перенесли все файлы в подпапку и придётся создать коммит с этой операцией. Но хоть вы и будете видеть старую историю коммитов, воспользоваться ей будет сложно, так как пути поменялись.

Правильней будет перед перемещением папки .git воспользоваться командой filter-repo, чтобы пересобрать заново все предыдущие коммиты так, как будто репозиторий изначально лежал в на два уровня выше.

Исходная структура папок
mysite
└── application
    ├── backend
    └── frontend
        └── .git

Подготовим старый репозиторий к перемещению
git filter-repo --to-subdirectory-filter application/frontend

Получим такую структуру
mysite
└── application
    ├── backend
    └── frontend
        ├── .git
        └── application
            └── frontend


Затем перенесём всё содержимое папки frontend в корень сайта.
И никаких дополнительных коммитов не понадобилось. Разве что останется только добавить в репозиторий остальной сайт.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Nc_Soft
Просто сделайте в репозитории папку application/frontend и переместите туда всё (обычный rename). История на файлах сохранится
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы