Как обновлять код в двух репозиториях?
========================================

 Есть два проекта, они использует одинаковый бэкенд, только что-то для фронта меняется. Меняя бэкенд в одном, как то можно и в другой проект эти обновления влить? 

 В таком случае стоит вынести бэкенд в отдельный репозиторий и подключать его как зависимость. Нормальных вариантов решать это через git мне не известно и я очень сомневаюсь что они есть по той простой причине, что git для решения таких задач не предназначен. По сути у вас получается три продукта, связанных между собой разными связями. Две версии фронтэнда (два продукта) связаны между собой общей "основой" (кодом), то есть это аналогично "наследованию" в ООП от общего базового класса. А от бэкенда они "зависят". Причем, могут зависеть от разных его версий (скорее всего будут, рано или поздно). То есть это больше похоже на "композицию" в терминах ООП. Так вот git - он не призван решать проблему зависимостей одного проекта от другого. Для этого нужно использовать менеджер зависимостей. Не знаю, на чем у вас написан проект, но для php это будет composer, для nodejs - npm, для python - pip(pyenv, poetry) и т.п.  
  

Если очень хочется оставаться в рамках монолитного репозитория, варианты придумать можно - но они требуют серьезной проработки, написания вспомогательных скриптов и будут не удобны.  
  

Например. Имеем по репозиторию (или ветке/несколько веток) для каждого проекта. При изменении кода бэкенда в одном из проектов сливаем его с кодом другого проекта, игнорируя при этом все изменения не бэкенда. Практическая реализация этого зависит от структуры кода и вообще вашего workflow. Но история проекта будет не красивой - все эти слияния, в которых еще и игнорируются изменения фронтэнд части... Это будет работать, но... это ужасно. 

 Ну алгоритм примерно такой:  

1. Добавить еще один сервер  

```
git remote add server2 https://github.com/user/repo.git
```
  

2. Сделать изменения локально  

3. Сделать пуш в origin `git push origin develop`  

4. `git fetch server2` - стянуть код с server2 что бы при пуше не ругалось  

5. `git checkout server2-develop` - перейти на ветку где будет храниться код со второго сервера  

6. `git merge server2/develop` - смерджить туда изменения с сервера  

7. `git cherry-pick d42c389f` - смерджить коммит, который содержит изменения бэкенда  

8. `git push server2 develop` - запушить изменения на сервер 2  
  

P.S. именно в таком виде я этот алгоритм не использовал, может что-то работаь не так