[*] Модернизация кодовой базы CXX до> 20;
Опять же, в предстоящие месяцы $ target станет Superset $ source , значительно определяя структуру и функциональность. /> remote /branches: < /strong> < /p>
См. Ниже моей первоначальной отправной точки, откуда я получаю свою текущую конфигурацию удаленныхorigin: gitlab.com/$me/$ntarget.git
[*]upstream: gitlab.example.com/$source.git
Требования: [/b]
- нет source (No Merge запрашивает). Избирательно интегрируйте обновления From $ source , даже после обширной реструктуризации кодовой базы.
- Replicate и Evolve $ Source Gitlab Ci/CD Setup для $ target>, адаптирование со временем Diverges. Рабочий процесс : каждая филиала функций должна быть выдвинута на удаленное дистанционное управление, запрос на слияние должен быть создан и автоматически объединен в мастер, как только мои трубопроводы CI/CD успешно запускаются.
[*]$SOURCE: размещено на gitlab.example.com
[*]$TARGET: изначально размещены на gitlab.com , затем мигрировал в частный экземпляр Gitlab
[*]$SOURCE не быстро развивается (~ 1 Commit/Day) и 1 значимый MR/неделя. Поэтому я планирую синхронизировать/вишневые изменения/слияния в $ target 2 недели или около того ...
... Мне нужен надежная, поддерживаемая стратегия GIT , чтобы поддержать независимое, но в то же время развитие обновлений , позволяя моей вышестоящей чертео />Question: What Git strategy (e.g., remote setup, branching model, merge/rebase workflow, subtrees/submodules, CI/CD management, etc.) best supports this use case: maintaining an independently evolving $TARGET while selectively syncing relevant updates (including CI/CD configs) from $SOURCE as both repositories diverge? Мои нынешние знания о GIT не совсем продвинуты; Я в первую очередь-только математический и только программист любителей.# Creating my repo on gitlab.com
glab repo create $TARGET -p -s
# Cloning the smtk repo into my $TARGET folder.
git clone --recursive git@gitlab.example.com:$SOURCE.git $TARGET && cd $TARGET
# Renaming the origin remote branch from $SOURCE to upstream so that I can track changes in the $SOURCE repository by pulling them in upstream
git remote rename origin upstream
# Protecting the $SOURCE remote from pushing changes
git remote set-url --push upstream no_push
# Adding the remote of my $TARGET repo on gitlab.com created earlier
git remote add origin git@gitlab.com:$ME/$TARGET.git
# Pushing my changes to the origin master branch on gitlab.com
git push -u origin master
Подробнее здесь: https://stackoverflow.com/questions/796 ... d-workflow