गिथबमा शाखाहरू कसरी मर्ज गर्ने, गिथब मर्ज रद्द गर्नुहोस्, गिथब शाखा

GitHub मा शाखा सिर्जना गर्नुहोस् र सुरक्षित रूपमा मर्ज गर्नुहोस्

GitHub मा शाखा कसरी सिर्जना गर्ने भनेर सिक्नु पहिलो चरण हो। यद्यपि, GitHub मा शाखाहरूलाई सुरक्षित रूपमा कसरी मर्ज गर्ने भन्ने कुरामा निपुण हुनु प्रत्येक शाखाको लागि उत्तिकै महत्त्वपूर्ण छ। GitHub कार्यप्रवाह। त्यसैले, यस पोस्टमा, हामी तपाईंलाई सम्पूर्ण प्रक्रियाको माध्यमबाट मार्गदर्शन गर्नेछौं, सुरु गर्दै GitHub मा शाखा कसरी बनाउने अनि तिमीलाई देखाउँदै GitHub मा शाखाहरू कसरी मर्ज गर्ने सुरक्षित रूपमा। यदि तपाईंले कुनै समस्या फेला पार्नुभयो भने मर्ज कसरी रद्द गर्ने र अन्तमा, तपाईंको मुख्य शाखामा प्रवेश गर्नु अघि Xygeni ले तपाईंलाई प्रत्येक समस्या कसरी पत्ता लगाउन मद्दत गर्न सक्छ भन्ने कुरा पनि हामी समेट्नेछौं।

यसलाई चरणबद्ध रूपमा हेरौं।

१. GitHub मा सही तरिकाले शाखा कसरी बनाउने

प्रत्येक सुरक्षित कार्यप्रवाह GitHub मा शाखा सिर्जना गर्दा सुरु हुन्छ। यसले विकासकर्ताहरूलाई उत्पादन कोडलाई असर नगरी सुविधाहरू, समाधानहरू, वा प्रयोगहरू अलग गर्न अनुमति दिन्छ।

GitHub मा शाखा सिर्जना गर्न:

१. आफ्नो भण्डारमा नेभिगेट गर्नुहोस्

२. शाखा चयनकर्ता ड्रपडाउनमा क्लिक गर्नुहोस्

गिथबमा शाखाहरू कसरी मर्ज गर्ने, गिथब र शाखा गिथब मर्ज रद्द गर्नुहोस्

३. तपाईंको नयाँ शाखाको नाम टाइप गर्नुहोस्

4। क्लिक शाखा सिर्जना गर्नुहोस्

गिथबमा शाखाहरू कसरी मर्ज गर्ने, गिथब र शाखा गिथब मर्ज रद्द गर्नुहोस्

यहाँबाट, तपाईंको नयाँ शाखा प्रयोगको लागि तयार छ। अब तपाईं कोड पुश गर्न सक्नुहुन्छ, परिवर्तनहरूमा सहकार्य गर्न सक्नुहुन्छ, र अन्ततः एउटा खोल्न सक्नुहुन्छ pull request। यद्यपि यो एक आधारभूत GitHub कार्य हो, यसले सुरक्षित विकासको लागि चरण सेट गर्दछ।

महत्त्वपूर्ण कुरा, तपाईंले GitHub मा शाखा सिर्जना गर्दा, यो दोहोरिने र सुरक्षित कार्यप्रवाहको अंश हुनुपर्छ।

१. स्क्यान Pull Requests मर्ज गर्नु अघि स्वचालित रूपमा

जब तपाईं GitHub मा शाखा सिर्जना गर्नुहुन्छ र समीक्षाको लागि तयारी गर्नुहुन्छ, अर्को चरण भनेको GitHub मा शाखाहरूलाई कसरी सुरक्षित रूपमा मर्ज गर्ने भनेर बुझ्नु हो। प्रत्येक शाखा GitHub पुशले स्वचालित जाँचहरू ट्रिगर गर्नुपर्छ। तर मर्ज गर्नु अघि, यो आवश्यक छ कि प्रमाणित गर्नुहोस् कि कोडले कमजोरीहरू परिचय दिँदैन। एउटा असुरक्षित commit तपाईंको आवेदन पर्दाफास गर्न सक्छ, leak secrets, वा महत्वपूर्ण पूर्वाधार तोड्नुहोस्।

तपाईंको मुख्य शाखामा कोड मर्ज गर्नु उच्च-प्रभावकारी कार्य हो। उचित जाँच बिना, यसले गम्भीर परिणामहरू निम्त्याउन सक्छ जस्तै:

यो त्यहीँ हो जहाँ 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 }}
				
			

३. असुरक्षित मर्जहरूलाई रोक्नुहोस् Guardrails

Guardrails, सुनिश्चित गर्नुहोस् कि जब तपाईं GitHub मा शाखा सिर्जना गर्नुहुन्छ वा GitHub मा शाखाहरू कसरी मर्ज गर्ने प्रयास गर्नुहुन्छ, सुरक्षित परिवर्तनहरू मात्र तपाईंको मुख्य शाखा GitHub सेटअपमा पुग्छन्। Xygeni ले तपाईंलाई दिन्छ के मर्ज हुन्छ भन्ने कुरामा पूर्ण नियन्त्रण। तपाईं पूर्व परिभाषित गर्न सक्नुहुन्छcisतपाईंको सुरक्षा नीति र जोखिम सहनशीलता अनुरूप बनाइएका e नियमहरू। उदाहरणका लागि:

  • यदि कुनै महत्वपूर्ण गोप्य कुरा छ भने ब्लक गर्नुहोस् फेला पर्यो (जस्तै, AWS कुञ्जीहरू, टोकनहरू)
  • निर्माण असफल भयो यदि एक नयाँ उच्च जोखिम खुला स्रोत प्याकेज प्रस्तुत गरिएको छ
  • अस्वीकार गर्नुहोस् pull requests कि संवेदनशील मार्गहरू परिमार्जन गर्नुहोस् जस्तै .github/workflows/, infrastructure/वा secrets.env
  • मर्जहरू रोक्नुहोस् यदि एक डाउनग्रेड पुन: प्रस्तुत गर्दछ ज्ञात vulnerabilities
  • ब्लक CI/CD कन्फिगरेसन परिवर्तनहरू राम्रोसँग लेबल नगरिएसम्म
  • यदि मर्जहरू रोक्नुहोस् SAST उच्च वा पत्ता लगाउँछ महत्वपूर्ण मुद्दाहरू
  • कडाइका साथ लागू गर्नुहोस् Guardrails उत्पादन शाखाहरूमा विकासमा लचिलोपन कायम राख्दै

यी नियमहरूले स्वचालित गेटकीपरको रूपमा काम गर्छन्। तिनीहरूले तपाईंको टोलीलाई सुरक्षित कुराहरू मात्र मर्ज गर्न मद्दत गर्छन्, कुनै आश्चर्य छैन, कुनै म्यानुअल समीक्षा छैन, कुनै अन्तिम-मिनेट अग्नि नियन्त्रक छैन।

रेलिंग नियमको उदाहरण:

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

दृश्य प्रतिक्रिया मा Dashboard

गिथबमा शाखाहरू कसरी मर्ज गर्ने, गिथब र शाखा गिथब मर्ज रद्द गर्नुहोस्

पूर्ण दृश्यता सुनिश्चित गर्न, Xygeni ले गार्डरेल स्थितिको पछिल्लो मूल्याङ्कनको नतिजा देखाउँछ।

  • सबै भन्दा पहिले, हरियो आइकनको अर्थ सबै नीतिहरू पारित भएको हो।
  • यसको विपरितमा, रातो आइकनले एक वा बढी रेलिंग सर्तहरू उल्लङ्घन भएको संकेत गर्छ।

फलस्वरूप, विकासकर्ताहरू र सुरक्षा टोलीहरू दुवैले CI लगहरू नखोजीकन मर्ज किन रोकिएको थियो भन्ने बारे तुरुन्तै अन्तर्दृष्टि प्राप्त गर्छन्।

बाट वास्तविक उदाहरण Dashboard:

उदाहरणका लागि, मानौं एउटा भण्डारमा कुनै सुरक्षित शाखाहरू छैनन्, यो एउटा सामान्य गलत कन्फिगरेसन हो जसले विकासकर्ताहरूलाई धक्का दिन अनुमति दिन्छ commitप्रमाणीकरण बिना। त्यो गम्भीर जोखिम हो।

Xygeni ले स्वचालित रूपमा यसलाई पत्ता लगाउँछ र फ्ल्याग गर्छ a को रूपमा हस्ताक्षर गरिएको_commits अन्तर्गत मुद्दा CI/CD श्रेणी। द dashboard हाइलाइटहरू:

  • गम्भीरता: उच्च
  • प्रकार: हस्ताक्षर गरियो Commits
  • व्याख्या: भण्डारमा कुनै संरक्षित शाखाहरू छैनन्।
  • स्थिति: खुला

त्यसकारण, यस सन्दर्भ-समृद्ध प्रतिक्रियाको साथ, टोलीहरूले Xygeni UI बाट जोखिमलाई द्रुत रूपमा पहिचान गर्न, यसको प्रभाव बुझ्न र सुधारात्मक कारबाही गर्न सक्छन्।

अनुकूलित कार्यान्वयन व्यवहार

तपाईं सधैं नियन्त्रणमा हुनुहुन्छ। कति कडा छान्नुहोस् Guardrails हुनुपर्छ:

  • --fail-on=critical: गम्भीर खोजहरूमा मात्र ब्लक मर्ज हुन्छ
  • --never-fail: चलाउनुहोस् Guardrails लागू गर्नु अघि नीतिहरूको परीक्षण गर्न ड्राई-रन मोडमा

त्यसैले अर्को पटक तपाईंले GitHub मा शाखा सिर्जना गर्दा, तपाईंको Guardrails पहिले नै त्यहाँ छन्, तपाईंको सुरक्षा गर्दै pipeline र तपाईंका नीतिहरू स्वचालित रूपमा लागू गर्दै।

GitHub एप सुरक्षित छ कि छैन भनेर कसरी थाहा पाउने?

GitHub एपहरू स्थापना गर्नु अघि कसरी मूल्याङ्कन गर्ने भनेर जान्नुहोस्।

सम्बन्धित पढ्नुहोस्:

४. जोखिम भेटिएमा GitHub मा स्वचालित रूपमा मर्ज रद्द गर्नुहोस्

यदि जोखिम पत्ता लाग्यो भने, मर्ज रद्द गरिन्छ। यो सुरक्षा व्यवस्थाले प्रत्येक शाखा GitHub परियोजनालाई सुरक्षित गर्दछ र GitHub मा शाखाहरू कसरी मर्ज गर्ने भन्ने बारे उत्तम अभ्यासहरू लागू गर्दछ।

Xygeni सिधै GitHub को UI मा एकीकृत हुन्छ। जब जोखिम भेटिन्छ:

  • GitHub ले जाँच असफल भएको देखाउँछ।
  • GitHub को सुरक्षाले मर्जलाई रोक्छ
  • मर्ज क्युले असुरक्षित कोड छोड्छ

चाहे त्यो गोप्य होस्, CVE होस्, वा खतरनाक होस् CI/CD ढाँचा, परिणाम उस्तै छ: द GitHub मा मर्ज रद्द गरिएको छ र समीक्षाको लागि फ्ल्याग गरियो।

तपाईं Xygeni मा पनि विस्तृत परिणामहरू हेर्न सक्नुहुन्छ:

  • प्रत्येक शाखाको सुरक्षा स्थिति
  • किन मर्ज रोकियो?
  • स्क्यान इतिहास पूरा गर्नुहोस्
  • परियोजना पृष्ठमा हरियो (पास) वा रातो (असफल) आइकनहरू मार्फत देखाइएको रेलिङ स्थिति।

यो दृश्य प्रतिक्रियाले विकासकर्ताहरू र सुरक्षा टोलीहरूलाई आत्मविश्वासका साथ कारबाही गर्न सजिलो बनाउँछ। र जब तपाईंलाई गहिरो सन्दर्भ चाहिन्छ, प्रत्येक मुद्दा गम्भीरता, ट्यागहरू, स्थान, र न्यूनीकरण मार्गदर्शन सहितको कागजातसँग जोडिएको हुन्छ।

सुरक्षित कुराहरू मात्र Tldr मर्ज गर्नुहोस्

संक्षेपमा भन्नुपर्दा, GitHub मा शाखा सिर्जना गरेपछि सुरक्षित रूपमा मर्ज गर्ने तरिका यहाँ छ:

  • UI मार्फत GitHub मा शाखा सिर्जना गर्नुहोस्
  • प्रत्येकसँग स्वचालित स्क्यानहरू ट्रिगर गर्नुहोस् pull request Xygeni सँग 
  • असुरक्षित मर्जहरूलाई प्रयोग गरेर रोक्नुहोस् Guardrails
  • गहिरो नियन्त्रणको लागि सर्भर-साइड अडिट नीतिहरू प्रयोग गर्नुहोस्
  • केहि असफल हुँदा GitHub मा मर्ज रद्द गर्नुहोस्
  • Xygeni मा सबै नतिजाहरू कल्पना गर्नुहोस् dashboard

भण्डार सुरक्षामा थप उत्तम अभ्यासहरूको लागि, हाम्रो पढ्नुहोस् GitHub सुरक्षा बारम्बार सोधिने प्रश्नहरू: प्रत्येक विकासकर्ताले जान्नुपर्ने कुराहरू.

मर्ज गर्नु आधारभूत कार्य भएतापनि, यसलाई सुरक्षित रूपमा गर्न वास्तविक दृश्यता र स्वचालन आवश्यक पर्दछ। Xygeni को साथ, तपाईंले कोड मात्र मर्ज गर्नुहुन्न, तपाईंले विश्वास मर्ज गर्नुहुन्छ।

प्रत्येक GitHub शाखालाई विश्वासका साथ सुरक्षित गर्नुहोस्

एउटा बेवास्ता गरिएको मुद्दा pull request तपाईंको मुख्य शाखालाई सम्झौता गर्न सक्छ। परम्परागत स्क्यानरहरू प्रायः धेरै ढिलो चल्छन्, महत्वपूर्ण जोखिमहरू गुमाउँछन्, वा अर्थपूर्ण नीतिहरू लागू गर्न असफल हुन्छन्।

त्यसैले तपाईंको GitHub शाखाहरूलाई सुरक्षित गर्न स्क्यान गर्नुभन्दा बढी लाग्छ।

Xygeni ले वास्तविक कार्यान्वयन प्रदान गर्दछ। जब एक pull request संरक्षित शाखालाई लक्षित गर्दै, Xygeni ले तपाईंको पछिल्लो कार्यान्वयनको विश्लेषण गर्दछ CI/CD कार्यप्रवाह। यसले सम्पूर्ण शाखा पुन: स्क्यान गर्दैन। बरु, यसले कोड, निर्भरता, गोप्यता, र कार्यप्रवाह कन्फिगरेसनहरूमा सुरक्षा समस्याहरू जाँच गर्न सबैभन्दा भर्खरको नतिजाहरूको मूल्याङ्कन गर्दछ। तपाईंलाई केवल सतर्क गराइँदैन। तपाईं सुरक्षित हुनुहुन्छ।

यसले के फरक बनाउँछ:

  • पूर्ण-सन्दर्भ प्रमाणीकरण: Guardrails गम्भीरता, शोषणयोग्यता, र शाखा मेटाडेटा जस्ता समृद्ध सन्दर्भ प्रयोग गरेर नीति लागू गर्नुहोस्।
  • बिल्ट-इन GitHub एकीकरण: स्क्यानिङदेखि कार्यान्वयनसम्म सबै कुरा तपाईंको GitHub कार्यप्रवाह भित्र नेटिभ रूपमा चल्छ, अनुकूलन स्क्रिप्ट वा ग्लु कोडको आवश्यकता पर्दैन।
  • सर्भर-साइड अडिटहरू: सर्भर साइड Guardrails अपलोड पछि परिणामहरू प्रमाणित गर्नुहोस्, बाहिर नियन्त्रणको दोस्रो तह थप्दै pipeline.

सबै कुरा बुझ्नको लागि तपाईंको CI सेटअपमा भर पर्नुको सट्टा, Xygeni ले स्वचालित, नीति-आधारित डे लागू गर्दछ।cisतपाईंको मुख्य शाखामा कुनै पनि कुरा पुग्नु अघि आयनहरू।

मर्ज गर्नु आधारभूत कार्य भएतापनि, यसलाई सुरक्षित रूपमा गर्न वास्तविक दृश्यता र स्वचालन आवश्यक पर्दछ। Xygeni को साथ, तपाईंले आफ्नो रिपोहरू मात्र सुरक्षित गर्नुहुन्न, तपाईंले प्रत्येक शाखा GitHub लाई विश्वासका साथ सुरक्षित गर्नुहुन्छ।

sca-उपकरण-सफ्टवेयर-रचना-विश्लेषण-उपकरणहरू
आफ्नो सफ्टवेयर जोखिमहरूलाई प्राथमिकता दिनुहोस्, सुधार गर्नुहोस् र सुरक्षित गर्नुहोस्
आफ्नो नि:शुल्क खाता पाउनुहोस्।
कुनै क्रेडिट कार्ड आवश्यक छैन।

आफ्नो सफ्टवेयर विकास र डेलिभरी सुरक्षित गर्नुहोस्

Xygeni उत्पादन सुइटको साथ