<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Push Rules > 原文:[https://docs.gitlab.com/ee/push_rules/push_rules.html](https://docs.gitlab.com/ee/push_rules/push_rules.html) * [Overview](#overview) * [Use cases](#use-cases) * [Commit messages with a specific reference](#commit-messages-with-a-specific-reference) * [Restrict branch names](#restrict-branch-names) * [Custom Push Rules](#custom-push-rules-core-only) * [Enabling push rules](#enabling-push-rules) * [Prevent pushing secrets to the repository](#prevent-pushing-secrets-to-the-repository) # Push Rules[](#push-rules-starter "Permalink") 通過使用正則表達式拒絕基于提交內容,分支名稱或文件詳細信息的推送,來獲得對哪些內容可以推送或不能推送到存儲庫的額外控制. ## Overview[](#overview "Permalink") GitLab 已經提供了[受保護的分支](../user/project/protected_branches.html) ,但是在某些情況下,您需要一些特定的規則,例如,防止刪除 Git 標簽或對提交消息強制采用特殊格式. 推送規則本質上是[預先接收的 Git 掛鉤](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) ,可在用戶友好的界面中輕松啟用. 如果您是管理員或每個項目,它們是全局定義的,因此您可以根據需要將不同的規則應用于不同的項目. ## Use cases[](#use-cases "Permalink") 每個推送規則都可以有自己的用例,但讓我們考慮一些示例. ### Commit messages with a specific reference[](#commit-messages-with-a-specific-reference "Permalink") 假設您對工作流程有以下要求: * 每個提交都應引用 Jira 問題,例如: `Refactored css. Fixes JIRA-123.` `Refactored css. Fixes JIRA-123.` * 用戶應該無法使用`git push`刪除 Git 標簽 您需要做的就是編寫一個簡單的正則表達式,要求在提交消息中提及一個 Jira 問題,例如`JIRA\-\d+` . 現在,當用戶嘗試通過消息`Bugfix`推送提交時,他們的推送將被拒絕. 僅接受`Bugfix according to JIRA-123`推送帶有`Bugfix according to JIRA-123`消息的提交. ### Restrict branch names[](#restrict-branch-names "Permalink") 假設您公司中有嚴格的分支機構名稱政策,并且您希望分支機構以特定名稱開頭,因為您有不同的 GitLab CI / CD 作業( `feature` , `hotfix` , `docker` , `android`等)依賴于分支機構名稱. 但是,您的開發人員并不總是記住該策略,因此他們可能會推送到各個分支,并且 CI 管道可能無法按預期工作. 通過在推送規則中全局限制分支名稱,可以防止此類錯誤. 與您的推送規則不匹配的任何分支名稱都將被拒絕. 請注意,不管指定的分支命名正則表達式(regex)如何,始終允許使用默認分支的名稱. 通過這種方式配置 GitLab,因為合并通常將默認分支作為目標. 如果您還有其他目標分支,請將其包含在正則表達式中. (請參閱[啟用推送規則](#enabling-push-rules) ). 默認分支還默認為[受保護分支](../user/project/protected_branches.html) ,這已經限制了用戶直接推送. ### Custom Push Rules[](#custom-push-rules-core-only "Permalink") 通過使用更高級的服務器掛鉤,可以創建自定義推送規則,而不是" **管理區域">"推送規則"中**可用的**推送規則** . 有關更多信息,請參見[服務器掛鉤](../administration/server_hooks.html) . ## Enabling push rules[](#enabling-push-rules "Permalink") **注意:** GitLab 管理員可以在" **管理區域">"**所有新項目都將繼承的**推送規則"**下全局設置推送規則. 您以后可以在項目的設置中覆蓋它們. 也可以在[組級別](../user/group/index.html#group-push-rules-starter)上設置它們. 1. 導航到項目的**"設置">"存儲庫",**然后展開" **推送規則"** 2. 設置所需的規則 3. 單擊" **保存推送規則"**以使更改生效 以下選項可用. | 推送規則 | GitLab 版本 | Description | | --- | --- | --- | | 用`git push`刪除標簽 | **Starter** 7.10 | 禁止用戶使用`git push`刪除 Git 標簽. 仍然可以通過 Web UI 刪除標簽. | | 檢查作者是否是 GitLab 用戶 | **Starter** 7.10 | 限制作者(電子郵件)對現有 GitLab 用戶的提交. | | 提交者限制 | **Premium** 10.2 | GitLab will reject any commit that was not committed by the current authenticated user | | 檢查提交是否通過 GPG 簽名 | **Premium** 10.1 | 如果未通過 GPG 簽名,則拒絕提交. [使用 GPG](../user/project/repository/gpg_signed_commits/index.html)閱讀[簽名提交](../user/project/repository/gpg_signed_commits/index.html) . | | 防止向 Git 提交機密 | **Starter** 8.12 | GitLab 將拒絕任何可能包含機密的文件. 閱讀[禁止使用的文件](#prevent-pushing-secrets-to-the-repository) . | | 通過提交消息限制 | **Starter** 7.10 | 只允許推送與此正則表達式匹配的提交消息. 保留為空以允許任何提交消息. 使用多行模式,可以使用`(?-m)`禁用該模式. | | 受提交消息限制(負匹配) | **Starter** 11.1 | 只允許提交與此正則表達式不匹配的提交消息. 保留為空以允許任何提交消息. 使用多行模式,可以使用`(?-m)`禁用該模式. | | 受分支名稱限制 | **Starter** 9.3 | 只允許推送與此正則表達式匹配的分支名稱. 保留為空以允許使用任何分支名稱. | | 通過提交作者的電子郵件進行限制 | **Starter** 7.10 | 只允許推送與此正則表達式匹配的提交者的電子郵件. 留空以允許任何電子郵件. | | 禁止的文件名 | **Starter** 7.10 | 與該正則表達式匹配的所有提交的文件名均不允許推送. 保留為空以允許任何文件名. | | 最大檔案大小 | **Starter** 7.12 | 包含超過此文件大小(以 MB 為單位)的添加或更新文件的推送將被拒絕. 設置為 0 允許任何大小的文件. 由 Git LFS 跟蹤的文件被豁免. | **提示:** GitLab 對推送規則中的正則表達式使用[RE2 語法](https://github.com/google/re2/wiki/Syntax) ,您可以在[GoLang regex tester 上](https://regex-golang.appspot.com/assets/html/index.html)對其進行[測試](https://regex-golang.appspot.com/assets/html/index.html) . ## Prevent pushing secrets to the repository[](#prevent-pushing-secrets-to-the-repository "Permalink") [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/385) in [GitLab Starter](https://about.gitlab.com/pricing/) 8.12. 諸如憑證文件,SSH 私鑰之類的機密以及其他包含機密的文件絕不應提交給源代碼控制. GitLab 允許您打開文件的預定義拒絕列表,該列表將不允許被推送到存儲庫,從而阻止這些提交到達遠程存儲庫. 通過選中*防止向 Git 提交機密*復選框,當文件與從[`files_denylist.yml`](https://gitlab.com/gitlab-org/gitlab/blob/master/ee/lib/gitlab/checks/files_denylist.yml)讀取的正則表達式匹配時,GitLab 會阻止將其推送到存儲庫(在查看此文件時,請確保您處于與 GitLab 版本相同的正確分支). **注意:**已經提交的文件將不受此推送規則的限制. 下面是這些正則表達式將拒絕的內容的示例列表: ``` ##################### # AWS CLI credential blobs ##################### .aws/credentials aws/credentials homefolder/aws/credentials ##################### # Private RSA SSH keys ##################### /ssh/id_rsa /.ssh/personal_rsa /config/server_rsa id_rsa .id_rsa ##################### # Private DSA SSH keys ##################### /ssh/id_dsa /.ssh/personal_dsa /config/server_dsa id_dsa .id_dsa ##################### # Private ed25519 SSH keys ##################### /ssh/id_ed25519 /.ssh/personal_ed25519 /config/server_ed25519 id_ed25519 .id_ed25519 ##################### # Private ECDSA SSH keys ##################### /ssh/id_ecdsa /.ssh/personal_ecdsa /config/server_ecdsa id_ecdsa .id_ecdsa ##################### # Any file with .pem or .key extensions ##################### *.pem *.key ##################### # Any file ending with _history or .history extension ##################### pry.history bash_history ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看