Mempelajari cara mencipta cabang dalam GitHub adalah langkah pertama. Walau bagaimanapun, menguasai cara menggabungkan cabang dalam GitHub dengan selamat adalah sama pentingnya untuk setiap cabang. GitHub aliran kerja. Jadi, dalam catatan ini, kami akan membimbing anda melalui keseluruhan proses, bermula dengan cara membuat cawangan dalam GitHub dan kemudian menunjukkan kepada anda cara menggabungkan cabang dalam GitHub dengan selamat. Kami juga akan membincangkan cara membatalkan penggabungan jika anda menemui sebarang masalah, dan akhirnya, bagaimana Xygeni boleh membantu anda menangani setiap isu sebelum ia sampai ke cawangan utama anda.
Jom jalani langkah demi langkah.
1. Cara Mencipta Cawangan dalam GitHub dengan Cara yang Betul
Setiap aliran kerja yang selamat bermula apabila anda mencipta cabang dalam GitHub. Ia membolehkan pembangun mengasingkan ciri, pembetulan atau eksperimen tanpa menjejaskan kod pengeluaran.
Untuk mencipta cawangan dalam GitHub:
1. Navigasi ke repositori anda
2. Klik menu lungsur turun pemilih cabang
3. Taip nama cawangan baharu anda
4. klik Cipta cawangan
Dari sini, cawangan baharu anda sedia untuk digunakan. Anda kini boleh melancarkan kod, bekerjasama dalam perubahan dan akhirnya membuka pull requestWalaupun ini merupakan tindakan GitHub asas, ia menyediakan asas untuk pembangunan yang selamat.
Yang penting, setiap kali anda membuat cabang dalam GitHub, ia harus menjadi sebahagian daripada aliran kerja yang boleh diulang dan dilindungi.
2. Imbas Pull Requests Secara Automatik Sebelum Anda Bergabung
Apabila anda mencipta cabang dalam GitHub dan bersedia untuk semakan, langkah seterusnya ialah memahami cara menggabungkan cabang dalam GitHub dengan selamat. Setiap tolakan cabang GitHub harus mencetuskan semakan automatik. Tetapi sebelum menggabungkan, adalah penting untuk mengesahkan Bahawa kod tersebut tidak memperkenalkan kelemahan. Satu yang tidak selamat commit boleh mendedahkan permohonan anda, leak secrets, atau merosakkan infrastruktur kritikal.
Penggabungan kod ke dalam cabang utama anda merupakan operasi berimpak tinggi. Tanpa pemeriksaan yang betul, ia boleh mengakibatkan akibat yang serius seperti:
- Kerentanan sifar hari tergelincir ke dalam pengeluaran
- Diketahui CVE diperkenalkan melalui pakej sumber terbuka
- Rahsia yang dikodkan secara keras dihantar ke repositori
- Salah konfigurasi infrastruktur yang melemahkan pertahanan anda
- Kod berniat jahat atau diusik memasuki melalui kebergantungan
Di sinilah Xygeni membuat perbezaan yang nyata
Dengan menggunakan Tindakan GitHub, anda boleh mencetuskan imbasan Xygeni automatik setiap kali pemaju membuka pull request ke dalam cabang yang dilindungi. Cawangan yang dilindungi dalam GitHub ialah cabang yang memerlukan semakan atau kelulusan khusus sebelum perubahan dibenarkan untuk digabungkan.
Xygeni menganalisis pelaksanaan terkini pull request aliran kerja untuk mengesahkan postur keselamatan perubahan yang dicadangkan. Ini termasuk menyemak isu dalam kod, kebergantungan, rahsia dan CI/CD konfigurasiCawangan penuh tidak diimbas semula, tetapi hasil aliran kerja terkini digunakan untuk menguatkuasakan dasar dan menyekat penggabungan yang tidak selamat.
Imbasan ini mengesahkan bahawa kod tersebut selamat dan sedia untuk pengeluaran. Ia mengesan:
- Kerentanan kod (SAST)
- Pakej sumber terbuka yang terdedah (SCA)
- Rahsia yang dikodkan secara keras
- IaC salah konfigurasi
- Berpotensi perisian hasad
Mengintegrasikan pemeriksaan awal ini memastikan bahawa setiap kali anda membuat cawangan dalam GitHub dan bersedia untuk bergabung, anda melakukannya dengan penglihatan dan kawalan penuh.
Berikut ialah persediaan yang dipermudahkan:
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. Sekat Gabungan Tidak Selamat dengan Guardrails
Guardrails, pastikan bahawa apabila anda mencipta cabang dalam GitHub atau cuba menggabungkan cabang dalam GitHub, hanya perubahan selamat yang sampai ke persediaan GitHub cabang utama anda. Xygeni memberi anda kawalan penuh ke atas apa yang digabungkanAnda boleh mentakrifkan pracisperaturan yang disesuaikan dengan dasar keselamatan dan toleransi risiko anda. Contohnya:
- Sekat jika rahsia kritikal ditemui (cth., kunci AWS, token)
- Gagal binaan sekiranya berisiko tinggi baharu pakej sumber terbuka diperkenalkan
- Tolak pull requests Bahawa ubah suai laluan sensitif seperti
.github/workflows/,infrastructure/, Atausecrets.env - Cegah penggabungan sekiranya penurunan taraf memperkenalkan semula diketahui kelemahan
- Menyekat CI/CD perubahan konfigurasi melainkan dilabelkan dengan betul
- Hentikan penggabungan jika SAST mengesan tinggi atau isu kritikal
- Gunakan lebih ketat Guardrails di cawangan pengeluaran sambil mengekalkan fleksibiliti dalam pembangunan
Peraturan ini bertindak sebagai pengawal keselamatan automatik. Ia membantu pasukan anda menggabungkan hanya perkara yang selamat, tiada kejutan, tiada semakan manual, tiada pemadaman kebakaran saat akhir.
Contoh peraturan pagar pengadang:
guardrail block_critical_secrets on secrets when severity = critical then @fail() Maklum Balas Visual dalam Dashboard
Bagi memastikan keterlihatan sepenuhnya, Xygeni menunjukkan hasil penilaian terkini status Guardrail.
- Pertama sekali, ikon hijau bermaksud semua dasar telah diluluskan.
- Berbeza, ikon merah menandakan bahawa satu atau lebih syarat Pagar Pengawal telah dilanggar.
Hasilnya, kedua-dua pembangun dan pasukan keselamatan mendapat maklumat segera tentang sebab penggabungan disekat, tanpa perlu meneliti log CI.
Contoh sebenar daripada Dashboard:
Contohnya, Katakan repositori tidak mempunyai cawangan yang dilindungi, satu kesilapan konfigurasi biasa yang membolehkan pembangun menolak committanpa pengesahan. Itu risiko yang serius.
Xygeni mengesan dan menandakannya secara automatik sebagai ditandatangani_commits isu di bawah CI/CD kategori. The dashboard sorotan:
- Keparahan: Tinggi
- Jenis: Ditandatangani Commits
- Keterangan: Repositori tidak mempunyai cawangan yang dilindungi
- status: Buka
Oleh itu, dengan maklum balas yang kaya dengan konteks ini, pasukan dapat mengenal pasti risiko dengan cepat, memahami kesannya dan mengambil tindakan pembetulan, semuanya daripada UI Xygeni.
Customize Tingkah Laku Penguatkuasaan
Anda sentiasa berkuasa. Pilih betapa ketatnya Guardrails sepatutnya:
--fail-on=critical: Blok bergabung hanya pada penemuan yang teruk--never-fail: Main Guardrails dalam mod ujian kering untuk menguji dasar sebelum menguatkuasakan
Jadi lain kali anda mencipta cawangan dalam GitHub, anda Guardrails sudah ada di sana, melindungi anda pipeline dan menguatkuasakan dasar anda secara automatik.
Bagaimanakah saya tahu jika aplikasi GitHub selamat?
Ketahui cara menilai Aplikasi GitHub sebelum memasangnya.
4. Batalkan Gabungan dalam GitHub Secara Automatik Apabila Risiko Ditemui
Jika risiko dikesan, penggabungan akan dibatalkan. Perlindungan ini melindungi setiap projek GitHub cawangan dan menguatkuasakan amalan terbaik tentang cara menggabungkan cawangan dalam GitHub.
Xygeni berintegrasi terus ke dalam UI GitHub. Apabila risiko ditemui:
- GitHub menunjukkan semakan sebagai gagal
- Perlindungan GitHub menghalang penggabungan
- Baris gilir gabungan melangkau kod tidak selamat
Sama ada rahsia, CVE atau berbahaya CI/CD corak, hasilnya adalah sama: yang penggabungan dibatalkan dalam GitHub dan ditandai untuk semakan.
Anda juga boleh melihat hasil terperinci dalam Xygeni:
- Status keselamatan setiap cawangan
- Mengapa penggabungan disekat
- Sejarah imbasan lengkap
- Status pagar penghadang ditunjukkan melalui ikon hijau (lulus) atau merah (gagal) dalam halaman projek
Maklum balas visual ini memudahkan pembangun dan pasukan keselamatan untuk mengambil tindakan dengan yakin. Dan apabila anda memerlukan konteks yang lebih mendalam, setiap isu dipautkan kepada dokumentasi dengan keterukan, tag, lokasi dan panduan mitigasi.
Gabungan Tldr Sahaja Apa yang Selamat
Secara ringkasnya, berikut ialah cara untuk bergabung dengan selamat selepas anda membuat cawangan dalam GitHub:
- Cipta cawangan dalam GitHub melalui UI
- Cetuskan imbasan automatik dengan setiap pull request dengan Xygeni
- Sekat penggabungan yang tidak selamat menggunakan Guardrails
- Gunakan dasar audit bahagian pelayan untuk kawalan yang lebih mendalam
- Batalkan penggabungan dalam GitHub apabila sesuatu gagal
- Visualisasikan semua keputusan dalam Xygeni's dashboard
Untuk amalan terbaik tambahan mengenai perlindungan repositori, baca Soalan Lazim Keselamatan GitHub: Apa yang Perlu Diketahui oleh Setiap Pembangun.
Walaupun penggabungan merupakan operasi asas, melakukannya dengan selamat memerlukan keterlihatan dan automasi yang sebenar. Dengan Xygeni, anda bukan sahaja menggabungkan kod, malah anda menggabungkan kepercayaan.
Lindungi Setiap Cawangan GitHub dengan Yakin
Satu isu yang diabaikan dalam pull request boleh menjejaskan cawangan utama anda. Pengimbas tradisional sering berjalan terlalu lewat, terlepas risiko kritikal atau gagal menguatkuasakan dasar yang bermakna.
Itulah sebabnya melindungi cabang GitHub anda memerlukan lebih daripada sekadar pengimbasan.
Xygeni menyediakan penguatkuasaan sebenar. Apabila seorang pull request menyasarkan cabang yang dilindungi, Xygeni menganalisis pelaksanaan terkini anda CI/CD aliran kerja. Ia tidak mengimbas semula keseluruhan cabang. Sebaliknya, ia menilai keputusan terkini untuk menyemak isu keselamatan dalam kod, kebergantungan, rahsia dan konfigurasi aliran kerja. Anda bukan sahaja dimaklumkan. Anda dilindungi.
Apa yang membezakannya:
- Pengesahan konteks penuh: Guardrails menguatkuasakan dasar menggunakan konteks yang kaya seperti keterukan, eksploitasi dan metadata cabang.
- Integrasi GitHub terbina dalam: Segala-galanya daripada pengimbasan hingga penguatkuasaan berjalan secara asli dalam aliran kerja GitHub anda, tanpa memerlukan skrip tersuai atau kod gam.
- Audit bahagian pelayan: Bahagian pelayan Guardrails sahkan keputusan selepas muat naik, menambah lapisan kawalan kedua di luar pipeline.
Daripada bergantung pada persediaan CI anda untuk menangkap semuanya, Xygeni menggunakan de automatik berasaskan dasarcision sebelum apa-apa sampai ke cabang utama anda.
Walaupun penggabungan merupakan operasi asas, melakukannya dengan selamat memerlukan keterlihatan dan automasi yang sebenar. Dengan Xygeni, anda bukan sahaja melindungi repo anda, malah anda melindungi setiap cabang GitHub dengan yakin.




