как объединить ветки в github, отменить слияние github, ветка github

Создайте ветку в GitHub и выполните безопасное слияние

Научиться создавать ветки на GitHub — это первый шаг. Однако не менее важно научиться безопасно объединять ветки на GitHub для каждой ветки. GitHub Рабочий процесс. Итак, в этой статье мы проведём вас через весь процесс, начиная с как создать ветку в GitHub и затем показываю вам как объединить ветки в GitHub Мы также расскажем, как безопасно отменить слияние, если вы обнаружите какие-либо проблемы, и, наконец, как Xygeni поможет вам выявить каждую проблему до того, как она попадёт в вашу основную ветку.

Давайте рассмотрим это шаг за шагом.

1. Как правильно создать ветку в GitHub

Каждый безопасный рабочий процесс начинается с создания ветки в GitHub. Это позволяет разработчикам изолировать функции, исправления или эксперименты, не влияя на производственный код.

Чтобы создать ветку в GitHub:

1. Перейдите в свой репозиторий.

2. Щелкните раскрывающийся список выбора ветви.

как объединить ветки в github, отменить слияние github и ветку github

3. Введите название новой ветки.

4. Нажмите Создать ветку

как объединить ветки в github, отменить слияние github и ветку github

Отсюда ваша новая ветка готова к запуску. Теперь вы можете отправлять код, совместно работать над изменениями и в конечном итоге открыть pull request. Хотя это базовое действие GitHub, оно закладывает основу для безопасной разработки.

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

2. Сканирование Pull Requests Автоматически перед слиянием

После создания ветки на GitHub и подготовки к проверке следующим шагом станет понимание того, как безопасно объединять ветки на GitHub. Каждая отправка ветки на GitHub должна запускать автоматические проверки. Но перед слиянием важно проверить которая код не создает уязвимостей. Один небезопасный commit может раскрыть ваше приложение, leak secretили разрушить критическую инфраструктуру.

Слияние кода с вашей основной веткой — это операция с высоким уровнем воздействия. Без надлежащих проверок это может привести к серьезным последствиям, таким как:

Вот где Xygeni действительно имеет значение

Работая с Действия GitHub, вы можете вызвать автоматизированное сканирование Xygeni всякий раз, когда разработчик открывает pull request в защищенную ветку. Защищенная ветка в GitHub — это та, которая требует определенных проверок или одобрений, прежде чем изменения будут разрешены для слияния.

Xygeni анализирует последнее исполнение pull request рабочий для проверки состояния безопасности предлагаемых изменений. Это включает проверку проблемы в коде, зависимостях, секретах и CI/CD КонфигурацииПолная ветвь повторно не сканируется, но последний результат рабочего процесса используется для обеспечения соблюдения политик и блокировки небезопасных слияний.

Эти сканирования подтверждают, что код безопасен и готов к производству. Они обнаруживают:

Интегрируя эти проверки заранее гарантируют что каждый раз, когда вы создаете ветку в GitHub и готовитесь к слиянию, вы делаете это с помощью полная видимость и контроль.

Вот упрощенная схема:

on:
  pull_request:
    branches: [ main ]
jobs:
  xygeni-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Xygeni Scanner
        uses: xygeni/xygeni-action@3.2.0
        with:
          token: ${{ secrets.XYGENI_TOKEN }}

3. Блокируйте небезопасные слияния с помощью Guardrails

Guardrails, убедитесь, что при создании ветки на GitHub или попытке объединения веток на GitHub, только безопасные изменения попадают в настройки вашей основной ветки на GitHub. Xygeni предоставляет вам полный контроль над тем, что будет объединено. Вы можете определить предварительноcise правила, адаптированные к вашим политикам безопасности и толерантности к риску. Например:

  • Блокировать, если секрет критический найдено (например, ключи AWS, токены)
  • Провалить сборку если новый высокий риск представлен пакет с открытым исходным кодом
  • Отклонить pull requests которая изменить чувствительные пути , такие как .github/workflows/, infrastructure/ или secrets.env
  • Предотвратить слияния если понижение версии снова вводит известный уязвимости
  • Заблокировать CI/CD изменения конфигурации если не маркировано надлежащим образом
  • Остановить слияния, если SAST обнаруживает высокий или критические проблемы
  • Применить более строгие меры Guardrails на производственных филиалах сохраняя гибкость в развитии

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

Пример правила ограждения:

guardrail block_critical_secrets
  on secrets
  when severity = critical
  then @fail()

Визуальная обратная связь в Dashboard

как объединить ветки в github, отменить слияние github и ветку github

Для обеспечения полной прозрачности Xygeni показывает результат последней оценки состояния Guardrail.

  • Прежде всего, зеленый значок означает, что все политики приняты.
  • Напротивкрасный значок сигнализирует о нарушении одного или нескольких условий Guardrail.

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

Реальный пример из Dashboard:

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

Xygeni автоматически обнаруживает и отмечает это как подписано_commits вопрос в рамках CI/CD категория. dashboard Основные моменты:

  • Уровень опасности: Высокий
  • Тип Подписанный Commits
  • Объяснение: В репозитории нет защищенных ветвей.
  • Статус: Открыто

Таким образом, благодаря такой контекстно-обогащенной обратной связи команды могут быстро выявить риск, оценить его влияние и предпринять корректирующие действия — и все это через пользовательский интерфейс Xygeni.

Настроить Поведение принуждения

Вы всегда контролируете. Выберите, насколько строго Guardrails должно быть:

  • --fail-on=critical: Блокировать слияния только при серьезных нарушениях
  • --never-fail: Run Guardrails в режиме пробного запуска для проверки политик перед их применением

Так что в следующий раз, когда вы создадите ветку в GitHub, ваш Guardrails уже там, защищая ваши pipeline и автоматическое применение ваших политик.

4. Автоматическая отмена слияния в GitHub при обнаружении рисков

При обнаружении рисков слияние отменяется. Эта мера предосторожности защищает все ветки проекта GitHub и обеспечивает соблюдение передовых практик слияния веток в GitHub.

Xygeni интегрируется напрямую в пользовательский интерфейс GitHub. При обнаружении риска:

  • GitHub показывает, что проверка не пройдена
  • Защитные механизмы GitHub предотвращают слияние
  • Очередь слияния пропускает небезопасный код

Будь то секрет, CVE или опасность CI/CD шаблон, результат тот же: слияние отменено в GitHub и помечено для проверки.

Подробные результаты вы также можете просмотреть в Xygeni:

  • Статус безопасности каждого филиала
  • Почему слияние было заблокировано
  • Полная история сканирования
  • Статус ограждения отображается с помощью зеленого (пройдено) или красного (не пройдено) значка на странице проекта

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

Tldr Объединяйте только то, что безопасно

Подводя итог, вот как безопасно выполнить слияние после создания ветки в GitHub:

  • Создайте ветку в GitHub через пользовательский интерфейс
  • Запускать автоматическое сканирование при каждом pull request с Ксигени 
  • Блокируйте небезопасные слияния с помощью Guardrails
  • Используйте политики аудита на стороне сервера для более глубокого контроля
  • Отменить слияние в GitHub, если что-то не получается
  • Визуализируйте все результаты в Xygeni dashboard

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

Хотя слияние является базовой операцией, для его безопасного выполнения требуется реальная видимость и автоматизация. С Xygeni вы не просто сливаете код, вы сливаете доверие.

Защитите каждую ветку GitHub с уверенностью

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

Вот почему защита ваших веток GitHub требует большего, чем просто сканирование.

Xygeni обеспечивает реальное исполнение. Когда pull request Xygeni анализирует последнее выполнение вашего CI/CD workflow. Он не сканирует заново всю ветку. Вместо этого он оценивает самые последние результаты для проверки проблем безопасности в коде, зависимостях, секретах и ​​конфигурациях workflow. Вы не просто предупреждены. Вы защищены.

Чем он отличается:

  • Полная контекстная проверка: Guardrails применять политику, используя расширенный контекст, такой как серьезность, эксплуатируемость и метаданные ветвей.
  • Встроенная интеграция с GitHub: Все процессы — от сканирования до обеспечения соблюдения правил — выполняются автоматически в рабочих процессах GitHub, без необходимости использования специальных скриптов или связующего кода.
  • Аудит на стороне сервера: На стороне сервера Guardrails проверить результаты после загрузки, добавив второй уровень контроля за пределами pipeline.

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

Хотя слияние — простая операция, для её безопасного выполнения требуется полная прозрачность и автоматизация. С Xygeni вы защищаете не только свои репозитории, но и каждую ветку GitHub.

sca-инструменты-программное обеспечение-композиция-анализ-инструменты
Расставьте приоритеты, устраните и защитите риски, связанные с программным обеспечением
7-дневная бесплатная пробная версия
Кредитная карта не требуется.

Защитите свою разработку и доставку программного обеспечения

с пакетом продуктов Xygeni