@easycode
не боюсь задавать глупые вопросы ))

Как правильно добавить в git-репозиторий папку выше по каталогу?

Имеется WordPress-сайт, у которого содержимое папки child-темы находится в репозитории github'а
Нужно включить в этот репозиторий папку зависимого плагина (отдельный репозиторий для плагина создавать не хотим!)

- public_html
-- wp-content
--- themes
---- child-theme
----- .git
--- plugins
---- my_plugin


я правильно понимаю, что нужно будет сделать следующее:
- перенести папку .git из папки child-theme в корневую папку public_html
- прописать в .gitignore все исключения кроме папки child-theme и папки my_plugin

- public_html
-- wp-content
--- themes
---- child-theme
--- plugins
---- my_plugin
-- .git
-- .gitignore
  • Вопрос задан
  • 494 просмотра
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
В целом вы думаете правильно и рецепт сработает. После перемещения репозитория гит скажет что вы перенесли все файлы тем в подпапку и придётся создать коммит с этой операцией. Но хоть вы и будете видеть старую историю коммитов, воспользоваться ей будет сложно, так как пути поменялись.

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

Исходная структура папок
public_html
└── wp-content
    ├── plugins
    │   └── my_plugin
    └── themes
        └── child-theme
            └── .git

Подготовим старый репозиторий к перемещению
git filter-repo --to-subdirectory-filter wp-content/themes/child-theme

Получим такую структуру
public_html
└── wp-content
    ├── plugins
    │   └── my_plugin
    └── themes
        └── child-theme
            ├── .git
            └── wp-content
                └── themes
                    └── child-theme


Затем перенесём папку .git и всё остальное содержимое папки child-theme в корень сайта.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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