學習如何在 GitHub 中建立分支是第一步。然而,掌握如何在 GitHub 中安全地合併分支對於每個分支來說都同樣至關重要。 GitHub上 工作流程。因此,在本文中,我們將帶您了解整個流程,從…開始。 如何在 GitHub 中建立分支 然後給你看 如何在 GitHub 中合併分支 安全地進行合併。我們也會介紹如果發現任何問題該如何取消合併,最後,還會講解 Xygeni 如何幫助您在問題進入主分支之前將其捕獲。
讓我們一步一步來。
1. 如何在 GitHub 中正確建立分支
所有安全的工作流程都始於在 GitHub 上建立分支。它允許開發人員隔離功能、修復或實驗,而不會影響生產程式碼。
在 GitHub 中建立分支:
1. 導覽至您的儲存庫
2. 點選分支選擇下拉選單
3. 輸入新分行的名稱
4。 點擊 建立分支
現在,你的新分支已經準備就緒。你可以推送程式碼、協作修改,最後創造一個新的分支。 pull request雖然這只是一個基本的 GitHub 操作,但它為安全開發奠定了基礎。
重要的是,每次在 GitHub 上建立分支時,都應該遵循可重複且受保護的工作流程。
2.掃描 Pull Requests 合併前自動進行
在 GitHub 上建立分支並準備審核後,下一步是了解如何在 GitHub 中安全地合併分支。每次 GitHub 分支推送都應該觸發自動檢查。但在合併之前,至關重要的是… 確認 每 該程式碼不會引入安全漏洞。 單一不安全 commit 可以暴露您的應用程序, leak secret或破壞關鍵基礎設施。
將程式碼合併到主分支是一項影響巨大的操作。如果沒有適當的檢查措施,可能會導致嚴重的後果,例如:
這就是Xygeni真正發揮作用的地方。
通過使用 GitHub動作你可以觸發 Xygeni自動掃描 每當開發者開啟一個 pull request 合併到受保護分支。 GitHub 中的受保護分支是指在允許合併變更之前需要經過特定檢查或核准的分支。
Xygeni 分析了 最新執行 pull request 工作流程 驗證擬議變更的安全狀況。這包括檢查: 程式碼、依賴項、金鑰和方面的問題 CI/CD 配置不會重新掃描整個分支,而是使用最新的工作流程結果來強制執行策略並阻止不安全的合併。
這些掃描驗證代碼是否安全且可用於生產環境。它們可以檢測到:
整合 這些早期檢查確保 每次在 GitHub 上建立分支並準備合併時,你都要這樣做。 完全可見性與控制.
以下是一個簡化的設定:
3. 阻止不安全的合併 Guardrails
Guardrails請確保在 GitHub 中建立分支或嘗試合併分支時,只有安全的變更才能到達您的主分支。 Xygeni 為您提供了這項功能。 對合併內容擁有完全控制權您可以定義預定義。cis根據您的安全策略和風險承受能力量身定制的規則。例如:
- 如果涉及關鍵秘密,則予以阻止 已找到(例如,AWS密鑰、令牌)
- 建置失敗 如果一個 新的高風險 引入開源軟體包
- 拒絕 pull requests 每 修改敏感路徑 点讚
.github/workflows/,infrastructure/, 或者secrets.env - 阻止合併 如果一個 降級重新引入 已知 漏洞
- 阻止 CI/CD 配置變更 除非有明確標籤。
- 如果 SAST 檢測到高或 關鍵問題
- 採取更嚴格的措施 Guardrails 生產部門 同時保持開發的彈性
這些規則就像自動守門人一樣,幫助您的團隊只合併安全的數據,避免意外情況、手動審核和最後一刻的緊急處理。
護欄規則範例:
視覺回饋 Dashboard
為了確保完全可見,Xygeni 會顯示護欄狀態的最新評估結果。
- 首先綠色圖示表示所有保單均已通過。
- 相反紅色圖示表示違反了一項或多項護欄條件。
因此,開發人員和安全團隊無需深入查看 CI 日誌,即可立即了解合併被封鎖的原因。
來自真實案例 Dashboard:
例如,假設一個程式碼倉庫沒有受保護的分支,這是一個常見的設定錯誤,允許開發人員推送程式碼。 commit未經核實。這存在嚴重風險。
Xygeni 會自動偵測並將其標記為 簽名commits 問題 CI/CD 類別。 這 dashboard 強調:
- 嚴重程度: 高
- 類型: 簽 Commits
- 說明: 該倉庫沒有受保護的分支
- 庫存狀態: 未結案工單
因此,借助這種包含豐富上下文資訊的回饋,團隊可以快速識別風險、了解其影響並採取糾正措施,所有這些都可以在 Xygeni 使用者介面中完成。
自訂 執法行為
你始終掌控一切。選擇嚴格程度。 Guardrails 應該:
--fail-on=critical: 僅在發現嚴重問題時才合併區塊--never-fail: 運行 Guardrails 在試運行模式下測試策略,然後再強制執行
所以下次你在 GitHub 上建立分支時,你的 Guardrails 它們已經在那裡,保護著你 pipeline 並自動執行您的策略。
4. 當發現風險時,自動取消 GitHub 中的合併作業
如果偵測到風險,合併操作將被取消。這項安全措施保護了GitHub專案的每個分支,並強制執行GitHub分支合併的最佳實務。
Xygeni 直接整合到 GitHub 的使用者介面中。當發現風險時:
- GitHub 顯示檢查失敗
- GitHub 的保護機制阻止了合併。
- 合併佇列會跳過不安全的程式碼。
無論是秘密、CVE 還是危險品 CI/CD 模式相同,結果也相同: GitHub 上的合併作業已取消 並標記為待審核。
您也可以在 Xygeni 中查看詳細結果:
- 各分公司的安全狀況
- 合併為何被阻止
- 完整掃描紀錄
- 項目頁面上的護欄狀態以綠色(合格)或紅色(不合格)圖示顯示。
這種視覺化回饋使開發人員和安全團隊能夠輕鬆自信地採取行動。當您需要更深入的了解時,每個問題都會連結到包含嚴重性、標籤、位置和緩解指南的文件。
簡而言之,只合併安全的部分。
總結一下,以下是如何在 GitHub 中建立分支後安全地合併程式碼的方法:
- 透過 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.
Xygeni 不依賴 CI 設定來捕捉所有問題,而是應用自動化的、基於策略的去中心化方法。cis離子在任何東西到達你的主幹之前就已經存在了。
雖然合併程式碼是一項基本操作,但要安全地進行合併,則需要真正的可視性和自動化。使用 Xygeni,您不僅可以保護您的程式碼庫,還可以自信地保護 GitHub 上的每個分支。




