come unire rami in github, annullare l'unione github, ramo github

Crea un ramo in GitHub e unisci in modo sicuro

Imparare a creare un branch su GitHub è il primo passo. Tuttavia, padroneggiare come unire i branch su GitHub in modo sicuro è altrettanto fondamentale per ogni branch. GitHub flusso di lavoro. Quindi, in questo post, ti guideremo attraverso l'intero processo, iniziando con come creare un ramo in GitHub e poi mostrandoti come unire i rami in GitHub in modo sicuro. Spiegheremo anche come annullare un'unione se riscontri problemi e, infine, come Xygeni può aiutarti a individuare ogni problema prima che raggiunga il tuo ramo principale.

Vediamolo passo dopo passo.

1. Come creare un ramo in GitHub nel modo giusto

Ogni flusso di lavoro sicuro inizia con la creazione di un branch su GitHub. Questo permette agli sviluppatori di isolare funzionalità, correzioni o esperimenti senza influire sul codice di produzione.

Per creare un ramo su GitHub:

1. Vai al tuo repository

2. Fare clic sul menu a discesa del selettore di filiale

come unire rami in GitHub, annullare l'unione di GitHub e il ramo di GitHub

3. Digita il nome della tua nuova filiale

4. Clic Crea ramo

come unire rami in GitHub, annullare l'unione di GitHub e il ramo di GitHub

Da qui, il tuo nuovo ramo è pronto per essere utilizzato. Ora puoi caricare il codice, collaborare alle modifiche e infine aprire un pull requestSebbene si tratti di un'azione di base di GitHub, getta le basi per uno sviluppo sicuro.

È importante ricordare che ogni volta che si crea un ramo in GitHub, questo dovrebbe far parte di un flusso di lavoro ripetibile e protetto.

2. Scansione Pull Requests Automaticamente prima di unire

Quando si crea un branch su GitHub e ci si prepara per la revisione, il passo successivo è capire come unire i branch in GitHub in modo sicuro. Ogni push GitHub di un branch dovrebbe attivare controlli automatici. Ma prima di unire, è essenziale: verificare che il codice non introduce vulnerabilità. Un singolo non sicuro commit può esporre la tua applicazione, leak secrets, o danneggiare le infrastrutture critiche.

Unire il codice al ramo principale è un'operazione ad alto impatto. Senza controlli adeguati, può portare a gravi conseguenze, come:

Ecco dove Xygeni fa davvero la differenza

Utilizzando Azioni GitHub, puoi attivare scansioni Xygeni automatizzate ogni volta che uno sviluppatore apre un pull request In un ramo protetto. Un ramo protetto in GitHub è un ramo che richiede controlli o approvazioni specifici prima che le modifiche possano essere unite.

Xygeni analizza il ultima esecuzione del pull request flusso di lavoro per convalidare la sicurezza delle modifiche proposte. Ciò include il controllo di problemi nel codice, dipendenze, segreti e CI/CD configurazioniL'intero ramo non viene nuovamente scansionato, ma il risultato del flusso di lavoro più recente viene utilizzato per applicare policy e bloccare unioni non sicure.

Queste scansioni convalidano la sicurezza e la prontezza del codice. Rilevano:

Integrazione questi controlli precoci garantiscono che ogni volta che crei un ramo in GitHub e ti prepari a unirlo, lo fai con piena visibilità e controllo.

Ecco una configurazione semplificata:

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. Blocca le unioni non sicure con Guardrails

Guardrails, assicurati che quando crei un ramo in GitHub o tenti di unire i rami in GitHub, solo le modifiche sicure raggiungano la configurazione GitHub del ramo principale. Xygeni ti offre pieno controllo su ciò che viene unitoPuoi definire precisRegole personalizzate in base alle tue policy di sicurezza e alla tua tolleranza al rischio. Ad esempio:

  • Blocca se un segreto è critico è stato trovato (ad esempio, chiavi AWS, token)
  • Fallire la build se un nuovo ad alto rischio viene introdotto il pacchetto open source
  • Rifiuto pull requests che modificare percorsi sensibili come .github/workflows/, infrastructure/, o secrets.env
  • Prevenire le fusioni se un il downgrade reintroduce conosciuto vulnerabilità
  • Bloccare CI/CD modifiche alla configurazione a meno che non siano correttamente etichettati
  • Interrompere le fusioni se SAST rileva alto o problemi critici
  • Applicare misure più severe Guardrails sui rami di produzione mantenendo flessibilità nello sviluppo

Queste regole agiscono come guardiani automatici. Aiutano il tuo team a unire solo ciò che è sicuro, senza sorprese, senza revisioni manuali, senza interventi dell'ultimo minuto.

Esempio di regola sul guardrail:

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

Feedback visivo nel Dashboard

come unire rami in GitHub, annullare l'unione di GitHub e il ramo di GitHub

Per garantire la massima visibilità, Xygeni mostra il risultato dell'ultima valutazione dello stato del Guardrail.

  • Prima di tutto, un'icona verde indica che tutte le policy sono state approvate.
  • In contrasto, un'icona rossa segnala che una o più condizioni del Guardrail sono state violate.

Di conseguenza, sia gli sviluppatori che i team di sicurezza ottengono immediatamente informazioni sul motivo per cui un'unione è stata bloccata, senza dover analizzare i log CI.

Esempio reale dal Dashboard:

Ad esempio, supponiamo che un repository non abbia rami protetti, una configurazione errata comune che consente agli sviluppatori di spingere commitsenza verifica. È un rischio serio.

Xygeni rileva automaticamente e segnala questo come un firmato_commits problema sotto la CI/CD categoria. Il dashboard mette in risalto:

  • Gravità: Alto
  • Tipo: Firmato Commits
  • Spiegazione: Il repository non ha rami protetti
  • Status: Apri

Pertanto, grazie a questo feedback ricco di contesto, i team possono identificare rapidamente il rischio, comprenderne l'impatto e adottare misure correttive, il tutto dall'interfaccia utente di Xygeni.

Personalizzare Comportamento di applicazione

Hai sempre il controllo. Scegli quanto restrittivo Guardrails dovrebbe essere:

  • --fail-on=critical: Il blocco si unisce solo in caso di risultati gravi
  • --never-fail: Correre Guardrails in modalità di prova per testare le policy prima di applicarle

Quindi la prossima volta che crei un ramo in GitHub, il tuo Guardrails sono già lì, a proteggere il tuo pipeline e applicare automaticamente le tue policy.

4. Annulla automaticamente l'unione in GitHub quando vengono rilevati rischi

Se vengono rilevati rischi, l'unione viene annullata. Questa misura di sicurezza protegge ogni branch del progetto GitHub e impone le migliori pratiche su come unire i branch in GitHub.

Xygeni si integra direttamente nell'interfaccia utente di GitHub. Quando viene rilevato un rischio:

  • GitHub mostra il controllo come fallito
  • Le protezioni di GitHub impediscono la fusione
  • La coda di unione salta il codice non sicuro

Che si tratti di un segreto, di un'azione di violenza contro le donne o di un pericolo CI/CD modello, il risultato è lo stesso: il l'unione è stata annullata su GitHub e segnalato per la revisione.

Puoi anche visualizzare i risultati dettagliati in Xygeni:

  • Lo stato di sicurezza di ogni filiale
  • Perché una fusione è stata bloccata
  • Cronologia completa della scansione
  • Stato del guardrail mostrato tramite icone verdi (superato) o rosse (non superato) nella pagina del progetto

Questo feedback visivo semplifica l'intervento degli sviluppatori e dei team di sicurezza in tutta sicurezza. E quando è necessario un contesto più approfondito, ogni problema è collegato alla documentazione con informazioni su gravità, tag, posizione e indicazioni per la mitigazione.

Tldr Merge solo ciò che è sicuro

Riassumendo, ecco come effettuare un merge sicuro dopo aver creato un branch in GitHub:

  • Crea un ramo in GitHub tramite l'interfaccia utente
  • Attiva scansioni automatiche con ogni pull request con Xygeni 
  • Blocca le unioni non sicure utilizzando Guardrails
  • Utilizzare criteri di audit lato server per un controllo più approfondito
  • Annulla l'unione in GitHub quando qualcosa non funziona
  • Visualizza tutti i risultati in Xygeni dashboard

Per ulteriori best practice sulla protezione del repository, leggi il nostro Domande frequenti sulla sicurezza di GitHub: cosa dovrebbe sapere ogni sviluppatore.

Sebbene l'unione sia un'operazione di base, eseguirla in modo sicuro richiede visibilità e automazione reali. Con Xygeni, non si unisce solo il codice, ma si unisce anche la fiducia.

Proteggi ogni ramo GitHub con sicurezza

Un singolo problema trascurato in un pull request può compromettere la tua filiale principale. Gli scanner tradizionali spesso arrivano troppo tardi, non rilevano rischi critici o non riescono ad applicare policy efficaci.

Ecco perché proteggere i tuoi rami GitHub richiede più di una semplice scansione.

Xygeni garantisce un'applicazione concreta. Quando pull request prende di mira un ramo protetto, Xygeni analizza l'ultima esecuzione del tuo CI/CD Flusso di lavoro. Non esegue una nuova scansione dell'intero ramo. Valuta invece i risultati più recenti per verificare la presenza di problemi di sicurezza nel codice, nelle dipendenze, nei segreti e nelle configurazioni del flusso di lavoro. Non solo ricevi un avviso. Sei protetto.

Cosa lo rende diverso:

  • Validazione del contesto completo: Guardrails applicare la policy utilizzando un contesto dettagliato come gravità, sfruttabilità e metadati di diramazione.
  • Integrazione GitHub integrata: Tutto, dalla scansione all'applicazione delle norme, viene eseguito in modo nativo nei flussi di lavoro GitHub, senza bisogno di script personalizzati o codice di integrazione.
  • Audit lato server: Lato server Guardrails convalidare i risultati dopo il caricamento, aggiungendo un secondo livello di controllo esterno al pipeline.

Invece di affidarsi alla configurazione CI per catturare tutto, Xygeni applica processi automatizzati e basati su policycisioni prima che qualcosa raggiunga il ramo principale.

Sebbene l'unione sia un'operazione di base, eseguirla in modo sicuro richiede visibilità e automazione reali. Con Xygeni, non proteggi solo i tuoi repository, ma proteggi ogni branch GitHub in tutta sicurezza.

sca-tools-software-strumenti-di-analisi-della-composizione
Dai priorità, risolvi e proteggi i rischi del tuo software
Prova gratuita 7-day
Nessuna carta di credito richiesta

Proteggi lo sviluppo e la consegna del tuo software

con la suite di prodotti Xygeni