Есть ли способ создать новый репозиторий (или ветку, которая также будет работать нормально) из подкаталога вышестоящего проекта, сохраняя при этом возможности слияния в такте?
Пример: Upstream использует настройку monorepo с определенным подкаталогом для project/xyz
. Я хотел бы иметь возможность разделить этот каталог на отдельную ветку или репо, чтобы содержимое project/xyz
находилось в корне новой ветки или репо. Я сделаю модификации здесь. Но я также хотел бы иметь возможность периодически объединять изменения, которые были внесены вверх по течению, обратно в мою ветку или репо, сохраняя историю в такте.
В идеале, я бы также смог отодвинуть свои изменения обратно в исходный проект, но я мог бы также использовать файл патча для этого.
Я посмотрел на git subtree
, но, насколько я понимаю, он работает, но похож на подмодуль, где подкаталог проекта указывает на другой репозиторий. Это не то, чего я хочу (я должен был бы изменить исходный проект, что я не могу сделать, и предоставить всем этим коммиттерам также доступ на запись в мое репо).
Я также посмотрел на git filter-branch
, но он создает новые хеши коммитов и поэтому лишает возможности слияния из апстрима снова.
У кого-нибудь есть рабочий процесс для этого? Это возможно только с Git? Кто-нибудь может описать сценарий, который мог бы сделать эту работу?