Рабочий процесс Gitlab, форсированный просмотр кода или запрос на слияние в ветке

18

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

Я знаю, что могу сделать так, чтобы они создали ветку перед фиксацией, а затем создали запрос на слияние после того, как он был отправлен в репо. Я до сих пор не уверен в некоторых вещах ... Идея, что мы полагаемся на людей, создающих ветку, а затем запрос на слияние, кажется ошибочной, есть ли решение, которое вынуждает какую-то политику, что основная ветвь может оставаться чистой, если только " admin "утверждает код, который собирается в него слиться. Я читал "рабочий процесс команды github", но он не предлагает жизнеспособного решения. Любой совет о процессе или вашей собственной лучшей практике приветствуется. Благодарность!

Майк
источник
1
"The idea that we rely on people to create a branch and then a merge request seems faulty"Мне кажется, что у вас есть большая проблема, чем отсутствие функций в системе контроля версий. Если вам нужно потратить дополнительное время на создание ветки, взгляните на Atlassian Stash и его интеграцию с Jira.
toniedzwiedz
5
Спасибо Том, моя идея состоит в том, чтобы обеспечить соблюдение стандартной политики, я устраняю место для ошибки
Майк
2
Рассмотрите эту запись в блоге от gitlabhq about.gitlab.com/2014/09/29/gitlab-flow
spuder
1
Пожалуйста, посмотрите это: Google I / O 2009 - Миф программиста Genius
borisdiakur
Вы могли бы, чтобы они использовали свои собственные вилки ....
Wildcard

Ответы:

14

Я начал работать с gitlab, читая раздел HELP, предоставляя макет рабочего процесса. На данный момент, это, кажется, лучшее решение моего вопроса. Если у кого-то есть опыт работы с этим рабочим процессом или совет, пожалуйста, добавьте любую дополнительную информацию.

Из раздела ПОМОЩЬ:

Workflow

  1. Клон проекта
    git clone git@example.com:project-name.git
  2. Создать ветку с вашей функцией
    git checkout -b $feature_name
  3. Написать код. Зафиксируйте изменения
    git commit -am "My feature is ready"
  4. Вставь свою ветку в GitLab
    git push origin $feature_name
  5. Просмотрите свой код на странице коммитов
  6. Создать запрос на слияние
  7. Ваш руководитель команды рассмотрит код и объединит его с основной веткой

В разделе коммитов вашего репозитория вы можете защитить ветки, что заставляет разработчиков следовать описанному выше процессу, создавая ветку и отправляя запрос на слияние.

Снимок экрана - Защита ветви

Майк
источник
2
Есть ли способ обеспечить выполнение этого рабочего процесса (например, с помощью защищенной ветви), но разрешить любому уполномоченному (не только руководителю группы с привилегиями Master / Admin) объединить запрос?
Адам
Я только что попытался назначить запрос на слияние кому-либо без основных прав доступа, и он получил следующее сообщение в запросе на слияние: это не может быть слито автоматически, даже если оно может быть слито, у вас нет разрешения на это. Так что, похоже, они не смогут.
Майк
Благодарю. Я собираюсь попробовать либо Наблюдательный совет, Phabricator или Gerrit. У вас есть опыт работы с любым из них?
Адам
Нет, извините, я не пробовал ни одну из этих услуг. Оставьте ответ, если вы успешны.
Майк
Конечно, если я не забуду. Кстати, я добавил Barkeep в свой контрольный список :)
Адам