Как организовать работу между 2 git репо? - PullRequest
0 голосов
/ 09 ноября 2018

У нас есть установка, в которой мы используем git для своей работы, и в то же время клиент, которому мы доставляем работу, также использует git самостоятельно.

Мы также хотим установить строгую границу между двумя репозиториями, чтобы клиент не участвовал в нашем рабочем процессе репо (внутренние проблемы, пользователи, политики PR и т. Д.), А также мы не хотим участвовать в их репо.

Мы рассматриваем работу следующим образом:

  1. Наши разработчики выполняют всю свою работу против our-repo в development ветви (по умолчанию)
  2. У нашего администратора репо есть доступ к client-repo (то есть у него есть 2 пульта: our-repo и clients-repo)
  3. Как только что-то готово к развертыванию (имеется в виду, что оно помещено в нашу ветку master), он получает это и отправляет в clients-repo
  4. В случае, если клиент самостоятельно вносит какие-либо изменения (редко, но возможно), наш администратор получает их и объединяет в our-repo

Будет ли эта настройка работать? Я что-то упустил? Есть ли лучшие альтернативы?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2018

Я вижу матрицу разрешений github.com на https://help.github.com/articles/repository-permission-levels-for-an-organization/

Ваше желание не может быть реальностью, если наша команда и наш клиент одновременно используют github.com (давайте посмотрим на матрицу в строке Open issues, потяните и т. Д.)

У меня есть идея

Таким образом, наш клиент не может видеть процесс запроса извлечения, обсуждения, обсуждения проблемы и т. Д. Он видит только исходный код, который им предоставляет наша команда.

0 голосов
/ 09 ноября 2018

Я думаю, что наличие двух отдельных репозиториев, которые оба содержат логически один и тот же (или, по крайней мере, очень похожий) код, является ненужным, и это вообще плохая идея.Я предлагаю вам просто поддерживать один репо.Сделайте ветку master (и, возможно, другие ветки) защищенной в GitHub.Вы можете прочитать Включение ограничений ветви для получения дополнительной информации о том, как это сделать.

Когда ваши клиенты хотят выполнять свою собственную работу, просто позвольте им создать новую ветвь функций.Если они захотят, они могут создать запрос на возврат к master, который вы и ваша внутренняя команда можете внимательно изучить перед объединением.Поскольку master не будет защищен, ваш клиент никогда не сможет напрямую изменить кодовую базу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...