comment fusionner des branches dans github, annuler la fusion github, créer une branche github

Créer une branche dans GitHub et fusionner en toute sécurité

Apprendre à créer une branche dans GitHub est la première étape. Cependant, maîtriser la fusion sécurisée de branches dans GitHub est tout aussi crucial pour chaque branche. GitHub flux de travail. Dans cet article, nous vous guiderons tout au long du processus, en commençant par comment créer une branche dans GitHub et puis vous montrer comment fusionner des branches dans GitHub en toute sécurité. Nous expliquerons également comment annuler une fusion en cas de problème et, enfin, comment Xygeni peut vous aider à détecter chaque problème avant qu'il n'atteigne votre branche principale.

Examinons cela étape par étape.

1. Comment créer correctement une branche dans GitHub

Tout workflow sécurisé démarre par la création d'une branche dans GitHub. Cela permet aux développeurs d'isoler des fonctionnalités, des correctifs ou des expériences sans impacter le code de production.

Pour créer une branche dans GitHub :

1. Accédez à votre référentiel

2. Cliquez sur le menu déroulant du sélecteur de branche

comment fusionner des branches dans github, annuler la fusion github et la branche github

3. Tapez le nom de votre nouvelle succursale

4. Cliquez Créer une branche

comment fusionner des branches dans github, annuler la fusion github et la branche github

Votre nouvelle branche est alors prête à être utilisée. Vous pouvez désormais déployer du code, collaborer sur les modifications et, éventuellement, ouvrir une nouvelle branche. pull requestBien qu’il s’agisse d’une action GitHub de base, elle prépare le terrain pour un développement sécurisé.

Il est important de noter que chaque fois que vous créez une branche dans GitHub, elle doit faire partie d’un flux de travail répétable et protégé.

2. Numériser Pull Requests Automatiquement avant de fusionner

Lorsque vous créez une branche dans GitHub et préparez sa révision, l'étape suivante consiste à comprendre comment fusionner des branches dans GitHub en toute sécurité. Chaque push de branche sur GitHub doit déclencher des vérifications automatiques. Mais avant de fusionner, il est essentiel de vérifier qui le code n'introduit pas de vulnérabilités. Un seul dangereux commit peut exposer votre application, leak secretou rompre les infrastructures critiques.

La fusion de code dans votre branche principale est une opération à fort impact. Sans vérifications appropriées, elle peut entraîner de graves conséquences, telles que :

C'est là que Xygeni fait une réelle différence

En utilisant Actions GitHub, vous pouvez déclencher analyses Xygeni automatisées chaque fois qu'un développeur ouvre un pull request dans une branche protégée. Une branche protégée dans GitHub nécessite des vérifications ou des approbations spécifiques avant que les modifications ne soient autorisées à fusionner.

Xygeni analyse le dernière exécution du pull request workflow pour valider la posture de sécurité des changements proposés. Cela comprend la vérification problèmes dans le code, les dépendances, les secrets et CI/CD les configurationsLa branche complète n'est pas réanalysée, mais le résultat du workflow le plus récent est utilisé pour appliquer les politiques et bloquer les fusions non sécurisées.

Ces analyses vérifient que le code est sécurisé et prêt pour la production. Elles détectent :

Intégration ces contrôles précoces garantissent que chaque fois que vous créez une branche dans GitHub et que vous vous préparez à la fusion, vous le faites avec visibilité et contrôle complets.

Voici une configuration simplifiée :

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. Bloquer les fusions non sécurisées avec Guardrails

GuardrailsAssurez-vous que lorsque vous créez une branche dans GitHub ou tentez de fusionner des branches dans GitHub, seules les modifications sûres atteignent la configuration GitHub de votre branche principale. Xygeni vous offre contrôle total sur ce qui est fusionné. Vous pouvez définir précisDes règles adaptées à vos politiques de sécurité et à votre tolérance au risque. Par exemple :

  • Bloquer si un secret critique est trouvé (par exemple, clés AWS, jetons)
  • Échec de la construction si un nouveau risque élevé un package open source est introduit
  • Rejeter pull requests qui modifier les chemins sensibles comme .github/workflows/, infrastructure/, ou secrets.env
  • Empêcher les fusions si un rétrogradation réintroduit connu vulnérabilités
  • Bloquer CI/CD changements de configuration sauf étiquetage approprié
  • Arrêter les fusions si SAST détecte un niveau élevé ou des problèmes critiques
  • Appliquer plus strictement Guardrails sur les branches de production tout en gardant une flexibilité dans le développement

Ces règles agissent comme des gardiens automatisés. Elles aident votre équipe à fusionner uniquement ce qui est sécurisé, sans surprises, sans révisions manuelles et sans intervention de dernière minute.

Exemple de règle de garde-corps :

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

Rétroaction visuelle dans le Dashboard

comment fusionner des branches dans github, annuler la fusion github et la branche github

Pour assurer une visibilité complète, Xygeni affiche le résultat de la dernière évaluation du statut Guardrail.

  • Tout d'abord, une icône verte signifie que toutes les politiques ont été adoptées.
  • En revanche, une icône rouge signale qu'une ou plusieurs conditions de garde-corps ont été violées.

En conséquence, les développeurs et les équipes de sécurité obtiennent un aperçu immédiat des raisons pour lesquelles une fusion a été bloquée, sans avoir à fouiller dans les journaux CI.

Exemple réel du Dashboard:

Par exemple, disons qu'un référentiel n'a pas de branches protégées, une mauvaise configuration courante qui permet aux développeurs de pousser commits sans vérification. C'est un risque sérieux.

Xygeni détecte et signale automatiquement cela comme un signé_commits question sous le CI/CD Catégorie. La dashboard points forts:

  • Gravité: Haute
  • Catégorie: Signé Commits
  • Explication: Le référentiel n'a pas de branches protégées
  • Statut: Ouvrez

Ainsi, grâce à ce retour d’information riche en contexte, les équipes peuvent rapidement identifier le risque, comprendre son impact et prendre des mesures correctives, le tout à partir de l’interface utilisateur Xygeni.

Personnaliser Comportement d'application de la loi

Vous avez toujours le contrôle. Choisissez le degré de rigueur Guardrails devrait être:

  • --fail-on=critical: Les blocs fusionnent uniquement en cas de résultats graves
  • --never-fail: Courir Guardrails en mode simulation pour tester les politiques avant de les appliquer

Donc la prochaine fois que vous créez une branche dans GitHub, votre Guardrails sont déjà là, protégeant votre pipeline et appliquer automatiquement vos politiques.

4. Annuler automatiquement la fusion dans GitHub lorsque des risques sont détectés

Si des risques sont détectés, la fusion est annulée. Cette mesure de sécurité protège chaque branche du projet GitHub et applique les bonnes pratiques de fusion de branches dans GitHub.

Xygeni s'intègre directement à l'interface utilisateur de GitHub. Lorsqu'un risque est détecté :

  • GitHub indique que la vérification a échoué
  • Les protections de GitHub empêchent la fusion
  • La file d'attente de fusion ignore le code non sécurisé

Qu'il s'agisse d'un secret, d'un CVE ou d'un danger CI/CD modèle, le résultat est le même : le la fusion est annulée dans GitHub et signalé pour examen.

Vous pouvez également consulter les résultats détaillés dans Xygeni :

  • L'état de sécurité de chaque succursale
  • Pourquoi une fusion a été bloquée
  • Historique complet des analyses
  • L'état du garde-fou est indiqué par des icônes vertes (réussite) ou rouges (échec) sur la page du projet

Ce retour visuel permet aux développeurs et aux équipes de sécurité d'agir en toute confiance. Et si vous avez besoin d'un contexte plus approfondi, chaque problème est lié à la documentation indiquant la gravité, les balises, l'emplacement et les conseils d'atténuation.

Fusionner uniquement ce qui est sûr dans TLDR

Pour résumer, voici comment fusionner en toute sécurité après avoir créé une branche dans GitHub :

  • Créer une branche dans GitHub via l'interface utilisateur
  • Déclenchez des analyses automatiques à chaque pull request avec Xygeni 
  • Bloquer les fusions non sécurisées à l'aide de Guardrails
  • Utilisez des politiques d'audit côté serveur pour un contrôle plus approfondi
  • Annuler la fusion dans GitHub en cas d'échec
  • Visualisez tous les résultats dans Xygeni dashboard

Pour des bonnes pratiques supplémentaires sur la protection des référentiels, lisez notre FAQ sur la sécurité de GitHub : ce que tout développeur devrait savoir.

Bien que la fusion soit une opération basique, sa réalisation sécurisée nécessite une visibilité et une automatisation réelles. Avec Xygeni, vous ne fusionnez pas seulement du code, vous fusionnez la confiance.

Protégez chaque branche GitHub en toute confiance

Un seul problème négligé dans un pull request peuvent compromettre votre branche principale. Les scanners traditionnels fonctionnent souvent trop tard, passent à côté de risques critiques ou n'appliquent pas de politiques pertinentes.

C’est pourquoi la protection de vos branches GitHub nécessite plus qu’une simple analyse.

Xygeni offre une réelle application. Quand un pull request cible une branche protégée, Xygeni analyse la dernière exécution de votre CI/CD Workflow. Il ne réanalyse pas l'intégralité de la branche. Il évalue plutôt les résultats les plus récents pour détecter d'éventuels problèmes de sécurité dans le code, les dépendances, les secrets et les configurations de workflow. Vous n'êtes pas seulement alerté, vous êtes protégé.

Ce qui le rend différent :

  • Validation du contexte complet : Guardrails appliquer la politique en utilisant un contexte riche comme la gravité, l'exploitabilité et les métadonnées de branche.
  • Intégration GitHub intégrée : Tout, de l'analyse à l'application, s'exécute de manière native dans vos flux de travail GitHub, sans avoir besoin de scripts personnalisés ou de code de collage.
  • Audits côté serveur : Du côté serveur Guardrails valider les résultats après le téléchargement, en ajoutant une deuxième couche de contrôle en dehors du pipeline.

Au lieu de compter sur votre configuration CI pour tout détecter, Xygeni applique des politiques automatisées et basées sur des politiques.cisions avant que quoi que ce soit n'atteigne votre branche principale.

Bien que la fusion soit une opération simple, sa sécurisation nécessite une visibilité et une automatisation réelles. Avec Xygeni, vous ne protégez pas seulement vos dépôts, mais aussi chaque branche GitHub en toute confiance.

sca-tools-logiciel-outils-d'analyse-de-composition
Priorisez, corrigez et sécurisez vos risques logiciels
Essai gratuit 7 jours
Pas de carte bleue requise

Sécurisez le développement et la livraison de vos logiciels

avec la suite de produits Xygeni