Как получить сопутствующие товары на странице продукта WooCommerce?

Похоже, что большинство (все?) ответов здесь опираются на некоторую форму git filter-branch --subdirectory-filter и ее ilk. Это может работать «в большинстве случаев», однако для некоторых случаев, например, когда вы переименовали папку, например:

 ABC/
    /move_this_dir # did some work here, then renamed it to

ABC/
    /move_this_dir_renamed

Если вы используете обычный стиль git-фильтра для извлечения «move_me_renamed», вы будете потерять историю изменений файла, которая произошла со спины, когда она была первоначально move_this_dir ( ref ).

Таким образом, кажется, что единственный способ действительно сохранить все история (если ваш случай подобен этому), по сути, копировать репозиторий (создать новое репо, установить его как начало), затем уничтожить все остальное и переименовать подкаталог родительскому элементу следующим образом:

  1. Локализовать проект с несколькими модулями локально
  2. Ветви - проверить, что там есть: git branch -a
  3. Выполните проверку каждой ветви, которая будет включена в разделение для получения локальной копии на вашей рабочей станции: git checkout --track origin/branchABC
  4. Сделайте копию в новом каталоге: cp -r oldmultimod simple
  5. Перейдите в новую копию проекта: cd simple
  6. Избавьтесь от других модулей, которые не нужны в этом проекте:
  7. git rm otherModule1 other2 other3
  8. Теперь только subdir целевого модуля остается
  9. Избавиться от модуля subdir модуля, чтобы корень модуля стал новым корнем проекта
  10. git mv moduleSubdir1/* .
  11. Удалить реликвий subdir : rmdir moduleSubdir1
  12. Проверьте изменения в любой точке: git status
  13. Создайте новый репозиторий git и скопируйте его URL, чтобы указать на него этот проект:
  14. git remote set-url origin http://mygithost:8080/git/our-splitted-module-repo
  15. Убедитесь, что это хорошо: git remote -v
  16. Нажмите изменения до удаленного репо: git push
  17. Перейдите к удаленному репо и проверьте его там
  18. Повторите его для любой другой ветки: git checkout branch2

Это следует за github doc «Разделение вложенной папки в новый репозиторий « шаги 6-11, чтобы подтолкнуть модуль к новому репо.

Это не сохранит ваше место в вашей папке .git, но оно сохранит всю историю изменений для этих файлов даже переименования. И это может не стоить того, если нет «большой» истории, потерянной и т. Д. Но по крайней мере вам гарантировано не потерять более старые коммиты!

0
задан LoicTheAztec 1 April 2019 в 01:23
поделиться