Hoe branches samenvoegen in GitHub, samenvoegen annuleren GitHub, GitHub vertakken

Maak een branch in GitHub en merge veilig

Leren hoe je een branch in GitHub aanmaakt is de eerste stap. Het beheersen van het veilig samenvoegen van branches in GitHub is echter net zo cruciaal voor elke branch. GitHub workflow. In dit bericht leiden we je door het hele proces, beginnend met Hoe maak je een branch aan in GitHub en dan aan jou laten zien Hoe branches samenvoegen in GitHub veilig. We bespreken ook hoe je een samenvoeging kunt annuleren als je problemen tegenkomt, en tot slot hoe Xygeni je kan helpen elk probleem op te sporen voordat het in je hoofdbranch terechtkomt.

Laten we het stap voor stap doornemen.

1. Hoe je op de juiste manier een branch in GitHub aanmaakt

Elke veilige workflow begint wanneer je een branch aanmaakt in GitHub. Hiermee kunnen ontwikkelaars functies, oplossingen of experimenten isoleren zonder de productiecode te beïnvloeden.

Een branch aanmaken in GitHub:

1. Navigeer naar uw repository

2. Klik op de vervolgkeuzelijst van de takselector

Hoe branches samenvoegen in GitHub, het samenvoegen van GitHub annuleren en GitHub vertakken

3. Typ de naam van uw nieuwe vestiging

4. klikken Maak een tak

Hoe branches samenvoegen in GitHub, het samenvoegen van GitHub annuleren en GitHub vertakken

Vanaf hier is je nieuwe branch klaar voor gebruik. Je kunt nu code pushen, samenwerken aan wijzigingen en uiteindelijk een pull requestHoewel dit een eenvoudige GitHub-actie is, legt het de basis voor veilige ontwikkeling.

Het is belangrijk dat elke keer dat u een branch in GitHub aanmaakt, deze onderdeel is van een herhaalbare en beveiligde workflow.

2. Scannen Pull Requests Automatisch voordat u samenvoegt

Wanneer je een branch in GitHub aanmaakt en je voorbereidt op de review, is de volgende stap het begrijpen hoe je branches in GitHub veilig kunt samenvoegen. Elke GitHub-push naar een branch zou geautomatiseerde controles moeten activeren. Maar voordat je samenvoegt, is het essentieel om: controleren uit die De code introduceert geen kwetsbaarheden. Een enkele onveilige commit kan uw applicatie blootstellen, leak secrets, of kritieke infrastructuur verstoren.

Het samenvoegen van code in je hoofdbranch is een ingrijpende operatie. Zonder de juiste controles kan dit ernstige gevolgen hebben, zoals:

Dit is waar Xygeni echt het verschil maakt

Met GitHub-acties, je kunt triggeren geautomatiseerde Xygeni-scans telkens wanneer een ontwikkelaar een pull request in een beschermde branch. Een beschermde branch in GitHub is een branch die specifieke controles of goedkeuringen vereist voordat wijzigingen mogen worden samengevoegd.

Xygeni analyseert de laatste executie van de pull request workflow om de beveiligingsstatus van de voorgestelde wijzigingen te valideren. Dit omvat het controleren van problemen in de code, afhankelijkheden, geheimen en CI/CD configuratiesDe volledige vertakking wordt niet opnieuw gescand, maar het meest recente werkstroomresultaat wordt gebruikt om beleid af te dwingen en onveilige samenvoegingen te blokkeren.

Deze scans valideren of de code veilig en klaar voor productie is. Ze detecteren:

Integreren Deze controles zorgen er vroegtijdig voor dat elke keer dat u een branch in GitHub aanmaakt en u zich voorbereidt op een merge, u dit doet met volledige zichtbaarheid en controle.

Hier is een vereenvoudigde opstelling:

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. Blokkeer onveilige samenvoegingen met Guardrails

GuardrailsZorg ervoor dat wanneer u een branch in GitHub aanmaakt of probeert branches in GitHub samen te voegen, alleen veilige wijzigingen uw GitHub-hoofdbranchconfiguratie bereiken. Xygeni geeft u volledige controle over wat er wordt samengevoegd. U kunt vooraf definiërencisDe regels zijn afgestemd op uw beveiligingsbeleid en risicobereidheid. Bijvoorbeeld:

  • Blokkeren als een kritisch geheim wordt gevonden (bijv. AWS-sleutels, tokens)
  • Mislukte bouw indien nieuwe hoogrisico open source pakket wordt geïntroduceerd
  • Verwerpen pull requests uit die gevoelige paden wijzigen als .github/workflows/, infrastructure/of secrets.env
  • Voorkom samenvoegingen indien downgrade herintroduceert bekend kwetsbaarheden
  • Block CI/CD configuratiewijzigingen tenzij correct geëtiketteerd
  • Stop samenvoegingen als SAST detecteert hoge of kritieke problemen
  • Pas strenger toe Guardrails op productietakken terwijl de flexibiliteit in de ontwikkeling behouden blijft

Deze regels fungeren als geautomatiseerde poortwachters. Ze helpen je team alleen datgene samen te voegen wat veilig is, zonder verrassingen, handmatige controles of last-minute brandjes blussen.

Voorbeeld van een vangrailregel:

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

Visuele feedback in de Dashboard

Hoe branches samenvoegen in GitHub, het samenvoegen van GitHub annuleren en GitHub vertakken

Om volledige zichtbaarheid te garanderen, toont Xygeni de resultaten van de laatste evaluatie van de Guardrail-status.

  • Allereerst, een groen pictogram betekent dat alle beleidsregels zijn aangenomen.
  • In tegenstelling tot, een rood pictogram geeft aan dat een of meer vangrailvoorwaarden zijn overtreden.

Hierdoor krijgen zowel ontwikkelaars als beveiligingsteams direct inzicht in de reden waarom een ​​samenvoeging is geblokkeerd, zonder dat ze daarvoor CI-logs hoeven door te spitten.

Echt voorbeeld uit de Dashboard:

Stel bijvoorbeeld dat een repository geen beschermde branches heeft, een veelvoorkomende verkeerde configuratie die ontwikkelaars in staat stelt om commitzonder verificatie. Dat is een serieus risico.

Xygeni detecteert en markeert dit automatisch als een ondertekend_commits kwestie onder de CI/CD categorie. De dashboard highlights:

  • ernst: Hoge
  • Type: Ondertekend Commits
  • Uitleg: De repository heeft geen beveiligde branches
  • Status: Open

Dankzij deze contextrijke feedback kunnen teams snel risico's identificeren, de impact ervan inschatten en corrigerende maatregelen nemen. En dat allemaal vanuit de Xygeni-gebruikersinterface.

Personaliseer Handhavingsgedrag

Jij hebt altijd de controle. Kies hoe streng je bent. Guardrails zou moeten zijn:

  • --fail-on=critical: Blokkeer samenvoegingen alleen bij ernstige bevindingen
  • --never-fail: lopen Guardrails in de droogloopmodus om beleid te testen voordat het wordt afgedwongen

Dus de volgende keer dat u een branch in GitHub aanmaakt, Guardrails zijn er al, uw bescherming pipeline en uw beleid automatisch afdwingen.

Hoe weet ik of een GitHub-app veilig is?

Leer hoe u GitHub-apps kunt evalueren voordat u ze installeert.

Gerelateerd lezen:

4. Automatisch samenvoegen in GitHub annuleren wanneer er risico's worden gevonden

Als er risico's worden gedetecteerd, wordt de samenvoeging geannuleerd. Deze beveiliging beschermt elk GitHub-project en handhaaft best practices voor het samenvoegen van branches in GitHub.

Xygeni integreert direct in de gebruikersinterface van GitHub. Wanneer een risico wordt gevonden:

  • GitHub geeft aan dat de controle mislukt is
  • De bescherming van GitHub voorkomt de samenvoeging
  • De samenvoegingswachtrij slaat onveilige code over

Of het nu een geheim, CVE of gevaarlijk is CI/CD patroon, het resultaat is hetzelfde: de samenvoeging is geannuleerd in GitHub en gemarkeerd voor beoordeling.

U kunt ook gedetailleerde resultaten bekijken in Xygeni:

  • De beveiligingsstatus van elke vestiging
  • Waarom een ​​samenvoeging werd geblokkeerd
  • Volledige scangeschiedenis
  • De status van de vangrail wordt weergegeven via groene (geslaagd) of rode (gefaald) pictogrammen op de projectpagina

Deze visuele feedback maakt het voor ontwikkelaars en beveiligingsteams gemakkelijk om vol vertrouwen actie te ondernemen. En wanneer u meer context nodig heeft, linkt elk probleem naar documentatie met ernst, tags, locatie en richtlijnen voor mitigatie.

Tldr: Voeg alleen samen wat veilig is

Samenvattend, dit is hoe je veilig kunt mergen nadat je een branch in GitHub hebt aangemaakt:

  • Maak een branch in GitHub via de gebruikersinterface
  • Activeer automatische scans bij elke pull request met Xygeni 
  • Blokkeer onveilige samenvoegingen met behulp van Guardrails
  • Gebruik server-side auditbeleid voor meer controle
  • Samenvoeging annuleren in GitHub wanneer er iets mislukt
  • Visualiseer alle resultaten in Xygeni's dashboard

Voor aanvullende best practices over repositorybeveiliging, lees onze GitHub-beveiligings-FAQ's: wat elke ontwikkelaar moet weten.

Hoewel samenvoegen een basisbewerking is, vereist het veilig uitvoeren ervan echte zichtbaarheid en automatisering. Met Xygeni samenvoegt u niet alleen code, maar ook vertrouwen.

Bescherm elke GitHub-tak met vertrouwen

Eén enkel over het hoofd gezien probleem in een pull request Kan uw hoofdfiliaal in gevaar brengen. Traditionele scanners werken vaak te laat, missen kritieke risico's of slagen er niet in om zinvolle beleidsregels af te dwingen.

Daarom is het beveiligen van uw GitHub-branches meer dan alleen scannen.

Xygeni zorgt voor echte handhaving. Wanneer een pull request richt zich op een beschermde tak, analyseert Xygeni de laatste uitvoering van uw CI/CD workflow. De hele branch wordt niet opnieuw gescand. In plaats daarvan worden de meest recente resultaten geëvalueerd om te controleren op beveiligingsproblemen in code, afhankelijkheden, geheimen en workflowconfiguraties. U wordt niet alleen gewaarschuwd. U bent beschermd.

Wat maakt het anders:

  • Volledige contextvalidatie: Guardrails beleid afdwingen met behulp van rijke context zoals ernst, exploiteerbaarheid en vertakkingsmetadata.
  • Ingebouwde GitHub-integratie: Alles, van scannen tot afdwingen, wordt standaard uitgevoerd in uw GitHub-workflows, zonder dat u aangepaste scripts of lijmcode nodig hebt.
  • Server-side audits: Server-kant Guardrails valideer de resultaten na het uploaden, door een tweede controlelaag toe te voegen buiten de pipeline.

In plaats van te vertrouwen op uw CI-configuratie om alles vast te leggen, past Xygeni geautomatiseerde, op beleid gebaseerdecisionen voordat er iets uw hoofdtak bereikt.

Hoewel mergen een basisbewerking is, vereist het veilig uitvoeren ervan echte zichtbaarheid en automatisering. Met Xygeni bescherm je niet alleen je repositories, maar ook elke GitHub-branch met vertrouwen.

sca-tools-software-compositie-analyse-tools
Prioriteer, herstel en beveilig uw softwarerisico's
Maak nu een gratis account aan.
Geen kredietkaart nodig.

Beveilig uw softwareontwikkeling en -levering

met Xygeni-productsuite