<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Squash and merge > 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html](https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html) * [Overview](#overview) * [Use cases](#use-cases) * [Enabling squash for a merge request](#enabling-squash-for-a-merge-request) * [Commit metadata for squashed commits](#commit-metadata-for-squashed-commits) * [Squash and fast-forward merge](#squash-and-fast-forward-merge) * [Squash Commits Options](#squash-commits-options) * [Enable or disable Squash Commit Options](#enable-or-disable-squash-commit-options-core-only) # Squash and merge[](#squash-and-merge "Permalink") 版本歷史 * 在[GitLab Starter](https://about.gitlab.com/pricing/) 8.17 中[引入](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/1024) . * [移植](https://gitlab.com/gitlab-org/gitlab-foss/-/merge_requests/18956)到 GitLab Core 11.0\. 使用 squash 和 merge,您可以將所有合并請求的提交合并為一個并保留干凈的歷史記錄. ## Overview[](#overview "Permalink") 通過壓接,您可以在接受合并請求時整理分支的提交歷史記錄. 它將合并請求中的所有更改作為單個提交應用,然后使用為項目設置的合并方法合并該提交. 換句話說,擠壓合并請求會變成一長串提交: [![List of commits from a merge request](https://img.kancloud.cn/5e/9c/5e9c0523b173f6fc7a40b751a6534aba_1000x444.png)](img/squash_mr_commits.png) 合并為單個提交: [![A squashed commit followed by a merge commit](https://img.kancloud.cn/85/fa/85fa90d6b57e244b3e0af10c6279c577_1200x237.png)](img/squash_squashed_commit.png) 壓縮的提交的提交消息將是: * 取自合并中的第一條多行提交消息. * 如果找不到多行提交消息,則合并請求的標題. **注意:**僅在至少 2 次提交時,此選項才生效. 由于沒有什么可壓縮的,因此如果只有 1 次提交,則提交消息不會更改. 可以在合并合并請求之前對其進行自定義. [![A squash commit message editor](https://img.kancloud.cn/08/72/08722b2e0c7e3610cc28eb81c0b18be8_1912x1192.png)](img/squash_mr_message.png) **注意:**在此示例中,壓縮的提交之后是合并提交,因為此示例存儲庫的合并方法使用了合并提交. 壓縮也適用于快進合并策略,有關更多詳細信息,請參見[壓縮和快進合并](#squash-and-fast-forward-merge) . ## Use cases[](#use-cases "Permalink") 在功能分支上工作時,有時您想提交當前進度,但實際上并不關心提交消息. 這些"進行中的提交"不一定包含重要的信息,因此,您寧愿不將其包含在目標分支中. 使用 squash 和 merge,當準備好要合并的合并請求時,您要做的就是在按下 merge 之前將擠壓啟用,以將合并請求中的提交加入到單個提交中. 這樣,您的基本分支的歷史記錄將保留有意義的提交消息,并且: * 如有必要, [還原](revert_changes.html)更為簡單. * 合并的分支將保留完整的提交歷史記錄. ## Enabling squash for a merge request[](#enabling-squash-for-a-merge-request "Permalink") 可以創建或編輯合并請求的任何人都可以選擇將其壓縮在合并請求表單上: [![Squash commits checkbox on edit form](https://img.kancloud.cn/64/2b/642b1d5c6d3ec797f21da3455c256f79_598x151.png)](img/squash_edit_form.png) 然后可以在接受合并請求時覆蓋它: [![Squash commits checkbox on accept merge request form](https://img.kancloud.cn/d0/90/d09021aa8e6dae4ca4644880b5901d47_924x31.png)](img/squash_mr_widget.png) ## Commit metadata for squashed commits[](#commit-metadata-for-squashed-commits "Permalink") 壓縮的提交具有以下元數據: * 消息:壁球提交消息或自定義消息. * 作者:合并請求的作者. * 提交者:發起壁球的用戶. ## Squash and fast-forward merge[](#squash-and-fast-forward-merge "Permalink") 當項目[啟用](fast_forward_merge.html#enabling-fast-forward-merges)了[快進合并設置時](fast_forward_merge.html#enabling-fast-forward-merges) ,合并請求必須能夠不壓縮而進行快速轉發以進行壓縮. 這是因為壓縮僅在接受合并請求時可用,因此即使擠壓本身可以被認為等同于重新基準化,也可能需要在壓縮之前對合并請求進行重新基準化. ## Squash Commits Options[](#squash-commits-options "Permalink") 版本歷史 * 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/17613) . * 它部署在功能標記后面,默認情況下處于禁用狀態. * 在 GitLab.com 上已禁用. * 不建議將其用于生產. * 要在 GitLab 自管實例中使用它,請讓 GitLab 管理員[啟用它](#enable-or-disable-squash-commit-options-core-only) . 使用 Squash Commits Options,您可以為項目配置 Squash 和 Merge 的行為. 要進行設置,請導航至項目的**設置>常規,**然后展開**合并請求** . 您將找到以下選項可供選擇,這將影響提交給您的項目的現有和新合并請求: * **不允許** :用戶不能在合并之前立即使用 Squash 和 Merge 來壓縮所有提交. 啟用或禁用它的復選框將被取消選中,并且對用戶隱藏. * **Allow**: users will have the option to enable Squash and Merge on a merge request basis. The checkbox will be unchecked (disabled) by default, but and the user is allowed to enable it. * **鼓勵** :用戶可以選擇在合并請求的基礎上啟用 Squash 和 Merge. 默認情況下會選中(啟用)該復選框以鼓勵使用,但允許用戶禁用它. * **要求** :對所有合并請求都啟用了"擠壓和合并",因此將始終執行. 啟用或禁用它的復選框將被選中并向用戶隱藏. 創建合并請求以及編輯現有請求的描述時,將顯示" Squash and Merge"復選框,但" Squash Commit Options"設置為**"不允許"**或" **Require"**時除外. **注意:**如果您的項目設置為**"不允許**擠壓和合并",則用戶仍然可以選擇通過命令行在本地擠壓提交,并在合并之前強制將其推送到其遠程分支. ### Enable or disable Squash Commit Options[](#enable-or-disable-squash-commit-options-core-only "Permalink") 壁球提交選項正在開發中,尚未準備好用于生產. 它部署在**默認情況下禁用**的功能標志的后面. [有權訪問 GitLab Rails 控制臺的 GitLab 管理員](../../../administration/feature_flags.html)可以為您的實例啟用它. 可以根據項目啟用或禁用壁球提交選項. 要啟用它: ``` # Instance-wide Feature.enable(:squash_options) # or by project Feature.enable(:squash_options, Project.find(<project id>)) ``` 禁用它: ``` # Instance-wide Feature.disable(:squash_options) # or by project Feature.disable(:squash_options, Project.find(<project id>)) ```
                  <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>

                              哎呀哎呀视频在线观看