Всем доброе утро!
Я надеюсь, что у всех вас есть некоторый опыт, который может направить меня в правильном направлении. Извиняюсь, если я плохо объясняю это.
У меня есть репозиторий Git, который я использую в качестве оболочки для создаваемых мной инструментальных панелей (назову это ShellRepo). Я делал клонирование этого репо (назовем его DashboardRepo), а затем создавал панель каждый раз, когда у меня появился новый проект. Проблема заключается в том, что если я найду изменение, которое нужно внести в ShellRepo, я не уверен, как обновить DashboardRepo, чтобы принимать новые изменения, сохраняя при этом новые файлы и настройки, которые я добавил специально для проекта DashboardRepo.
Я изучил подмодули, но я не уверен, что это сработает (или, может быть, я их неправильно понимаю), потому что изменения, которые я делаю, находятся в каталоге, предоставленном ShellRepo. Я хочу добавить файлы в мой DashboardRepo для выполнения определенных настроек, но разрешить обновление основных файлов из ShellRepo, если я найду и осуществлю более общее изменение.
Есть ли какой-либо предложенный метод решения этой проблемы? Спасибо всем за ваше время!
Вы можете сохранить два разных URL-адреса удаленных, один для вашего ShellRepo и второй для вашего DashboardRepo, и перенести изменения из DashboardRepo в ShellRepo.
Например, пусть предполагается, что:
master
ветке.a1b2c3
с некоторыми общими изменениями, которые вы хотите применить к ShellRepo специально в его master
ветке.Я бы следовал этим шагам:
git remote add shell <your remote url>
git checkout remotes/shell/master
.git checkout -b shell-master
.git cherry-pick a1b2c3
git push -u shell master
. Затем в любой момент, когда вы захотите переместить изменение, вы можете переключиться на shell-master
и выбрать коммиты, содержащие эти изменения.