全部產品
Search
文件中心

Alibaba Cloud DevOps:推送規則設定

更新時間:May 01, 2025

為了規範開發人員提交格式,平台提供檢查服務,支援自訂規則,對未推送提交檢查。本文主要介紹了如何建立推送規則,以及觸發規則後的展示。

建立推送規則

  1. 作為庫管理員,點擊左下角設定進入程式碼程式庫設定頁面,找到推送規則設定

    image

  2. 單擊建立推送規則,設定規則參數。

    image

    重要

    僅支援針對全庫所有分支啟用檢查規則。

  • 提交注釋:即 Commit message,需符合Regex才允許推送,為空白表示允許所有提交注釋。

  • 提交郵箱:即 git config 設定的郵箱,需符合Regex才允許推送,為空白表示允許所有郵箱。

  • 禁止強制推送(Force Push):強制推送會覆蓋遠程代碼,可能造成代碼和提交記錄丟失,需謹慎使用。如希望排查是否因為成員強制推送導致提交記錄丟失,可通過程式碼程式庫動態篩查強制推送事件以追溯操作人。

    為了避免由於強制推送導致的代碼丟失問題,可以通過開啟禁止強制推送對操作進行限制。

    開啟禁止強制推送後,若本地代碼和遠端存在分叉,無法通過 git push -f 強行推送本地代碼,避免服務端代碼被覆蓋。

    說明

    當已開啟禁止強制推送,但是本地代碼和遠端伺服器代碼無分叉時,此時即使使用 git push -f 命令進行推送,效果也和git push一致,可以成功推送。

  • 代碼屬主檢查:在開始使用 Git 進行版本管理之前,需要先進行使用者配置。

    git config --global user.name "您的名字"
    git config --global user.email "您的郵箱"

提交記錄的作者(Author)與提交者(Committer)的區別

  • Git 允許重寫歷史或代表他人提交代碼:為保證代碼貢獻統計的準確性,提交代碼時應確保作者(Author)與當前登入使用者一致,以正確反映代碼的實際貢獻者。

  • 通常情況下,提交者 Committer 並不對使用者暴露:只有指定git log --format(例如format=fuller)時才會展示。提交者代表著這個提交記錄Commit最終提交的人(提交時git config user.namegit config user.email)。

  • 在使用 git commit 命令時,可以通過 `author` 參數指定提交記錄的貢獻者:在開源專案中,即使未直接使用某人的代碼但採用了其創意,也應將其列為作者以示尊重。初始提交的Author和Committer通常是同一人。但使用如`git cherry-pick`、`git rebase`等命令重寫提交歷史時,Author保持不變,而Committer變更為執行操作的人。簡單來說,Author是原始貢獻者,Committer是產生提交的人。

  • Codeup支援針對Author和Committer對當前登入使用者已驗證的主郵箱做檢查:若郵箱資訊無法匹配,可警告或限制推送,確保代碼貢獻屬主準確,避免因使用者匹配失敗導致貢獻量計算失真。

繼承組織級規則

繼承自組織的規則不可編輯和刪除,僅支援查看,如需修改請聯絡組織管理員。

推送時檢查

假設規則設定如下。檢查規則:檢查作者;限制層級:僅警告。

image

頁面操作

當提交時注釋不符合已設定的規則時,提交將被拒絕。

高的 (48)

當提交郵箱不符合規則時,提交也會被拒絕。

高的 (50)

合并請求時同理。