Совместная работа с запросами на вытягивание
Запросы на вытягивание позволяют сообщить другим об изменениях, отправленных вами в репозиторий GitHub
После отправки запроса на вытягивание заинтересованные стороны могут просмотреть набор изменений, обсудить возможные изменения и даже отправить фиксации последующих действий при необходимости.
Запросы на вытягивание обычно используются группами и организациями, которые используют модель общего репозитория для совместной работы.
Все используют один репозиторий, а ветви разделов используются для разработки возможностей и изоляции изменений.
Многие проекты с открытым исходным кодом в GitHub используют запросы на вытягивание для управления изменениями от участников.
Они позволяют уведомлять ответственных за сопровождение проекта о внесенных изменениях.
Кроме того, можно начать проверку кода и общее обсуждение набора изменений перед их слиянием в главную ветвь.
Запросы на вытягивание объединяют проверку и слияние кода в единый процесс совместной работы.
После устранения ошибки или новой функции в ветви создайте новый запрос на вытягивание.
Добавьте участников команды в запрос на вытягивание, чтобы они могли проанализировать изменения и проголосовать за них.
Используйте запросы на вытягивание для проверки работы и получения ранних отзывов об изменениях.
Нет никаких обязательств по слиянию изменений, так как владелец может отказаться от запроса на вытягивание в любое время.
Получение проверки кода
Проверка кода, выполненная в запросе на вытягивание, не только находит ошибки — этим занимаются тесты.
Хорошая проверка кода выявляет менее очевидные проблемы, которые могут привести к дорогостоящим неполадкам в будущем.
Проверка кода помогает предотвратить некачественные слияния и некорректно работающие сборки, которые снижают производительность работы команды.
Проверка перед слиянием позволяет выявить эти проблемы, защищая основные ветви от нежелательных изменений.
Можно использовать обмен опытом и распределенные стратегии решения проблем силами большого числа проверяющих при проверке кода.
Возможность делиться опытом и знаниями повышает надежность и устойчивость команды.
Отправка отзывов
Качественные проверки начинаются с качественных отзывов. Ключевые факторы, определяющие качественные отзывы в запросе на вытягивание:
- Запрос на вытягивание проверяется пользователями с соответствующей квалификацией.
- Необходимо убедиться, что рецензенты знают, какие задачи решает код.
- Предоставляются полезные конструктивные отзывы.
- Возможность быстро отвечать на комментарии.
При назначении рецензентам запроса на вытягивание убедитесь в том, что выбран правильный набор рецензентов.
Вам нужны рецензенты, знающие, как работает ваш код, и вы пытаетесь привлечь разработчиков, работающих в других областях, чтобы они делились своими идеями.
Кроме того, пользователи могут предоставить четкое описание изменений и выполнить сборку кода, в котором выполняется исправление или возможность.
Рецензентам следует также отправлять отзывы об изменениях, с которыми они не согласны. Выявите проблему и предоставьте конкретные предложения по изменениям.
Этот отзыв имеет четкое намерение, и он полностью понятен владельцу запроса на вытягивание.
Владелец запроса на вытягивание должен ответить на комментарии, принять предложение или объяснить, почему предложенное изменение не является оптимальным.
В отдельных случаях предложение может быть полезным, но предложенные изменения выходят за рамки запроса на вытягивание.
В этом случае ознакомьтесь с таким предложением и создайте новые рабочие элементы и ветви возможностей отдельно от запроса на вытягивание, чтобы внести такие изменения.
Защита ветвей с помощью политик
Репозитории обычно содержат одну или несколько ветвей, включая основные, которые требуют дополнительной защиты из-за их критическости. Azure Repos предлагает несколько механизмов на основе политик, которые следует рассмотреть, чтобы помочь вам достичь этой цели.
Основная часть этих механизмов заключается в применении ограничений для запросов на вытягивание. Например, можно включить применение определенных политик проверки кода, таких как требование минимального количества утверждений от назначенных рецензентов перед объединением запроса на вытягивание. Использование коллективного опыта связано с повышением качества и надежности изменений кода.
Кроме того, рекомендуется реализовать политику проверки связанных рабочих элементов. Это проверяет, связан ли каждый запрос на вытягивание с рабочим элементом, предоставляя контекст и повышая возможность трассировки. Проверка политики разрешения комментариев помогает убедиться, что все комментарии проверки кода устраняются перед слиянием запроса на вытягивание.
Политики, связанные с автоматизированным анализом кода, тестированием и соответствием проверка, подтверждают, что изменения соответствуют предопределенным стандартам перед интеграцией. Ограничение типов слияний помогает поддерживать журнал ветви управления. Например, у вас есть возможность разрешать только быстрое перемещение вперед и слияние скваш.
Кроме того, можно запретить чистые сборки новых версий кода, прежде чем разрешать их объединять в критически важные ветви. Это гарантирует, что объединенные изменения не вводят ошибки сборки или проблемы регрессии. Проверка состояния можно использовать для выполнения запросов на вытягивание в зависимости от сигналов, создаваемых внешними службами. Например, такие сигналы можно создать с помощью Azure Pipelines, выполняющих автоматизированные тесты и анализ кода.
Все ветви, имеющие необходимые политики, автоматически блокируют прямую отправку, эффективно применяя запросы на вытягивание для всех изменений. Кроме того, такие ветви нельзя удалить.