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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Reviewing and managing merge requests > 原文:[https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html](https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html) * [View project merge requests](#view-project-merge-requests) * [View merge requests for all projects in a group](#view-merge-requests-for-all-projects-in-a-group) * [Semi-linear history merge requests](#semi-linear-history-merge-requests) * [View changes between file versions](#view-changes-between-file-versions) * [Merge request diff file navigation](#merge-request-diff-file-navigation) * [File-by-file diff navigation](#file-by-file-diff-navigation) * [Enable or disable file-by-file diff navigation](#enable-or-disable-file-by-file-diff-navigation-core-only) * [Merge requests commit navigation](#merge-requests-commit-navigation) * [Incrementally expand merge request diffs](#incrementally-expand-merge-request-diffs) * [Ignore whitespace changes in Merge Request diff view](#ignore-whitespace-changes-in-merge-request-diff-view) * [Perform inline code reviews](#perform-inline-code-reviews) * [Pipeline status in merge requests widgets](#pipeline-status-in-merge-requests-widgets) * [Post-merge pipeline status](#post-merge-pipeline-status) * [Merge when pipeline succeeds (MWPS)](#merge-when-pipeline-succeeds-mwps) * [Live preview with Review Apps](#live-preview-with-review-apps) * [Associated features](#associated-features) * [Troubleshooting](#troubleshooting) * [Merge request cannot retrieve the pipeline status](#merge-request-cannot-retrieve-the-pipeline-status) * [Sidekiq](#sidekiq) * [Bug](#bug) * [Tips](#tips) * [Checkout merge requests locally](#checkout-merge-requests-locally) * [Checkout locally by adding a Git alias](#checkout-locally-by-adding-a-git-alias) * [Checkout locally by modifying `.git/config` for a given repository](#checkout-locally-by-modifying-gitconfig-for-a-given-repository) # Reviewing and managing merge requests[](#reviewing-and-managing-merge-requests "Permalink") 合并請求是在 GitLab 項目中更改文件的主要方法. 通過[創建并提交合并請求](creating_merge_requests.html)來提出更改,然后將其審核并接受(或拒絕). ## View project merge requests[](#view-project-merge-requests "Permalink") 導航到" **項目">"合并請求",**以查看項目中的所有**合并請求** . 當您訪問項目的合并請求時,GitLab 會將它們顯示在列表中,并且您可以使用可用的選項卡來快速按打開和關閉進行過濾. 您還可以[搜索和過濾結果](../../search/index.html#filtering-issue-and-merge-request-lists) . [![Project merge requests list view](https://img.kancloud.cn/e2/bb/e2bb8dc21fc003a71ae7c059e5091f82_3138x1492.png)](img/project_merge_requests_list_view.png) ## View merge requests for all projects in a group[](#view-merge-requests-for-all-projects-in-a-group "Permalink") 查看組中所有項目中的合并請求,包括組中所有后代子組的所有項目. 導航到**組>合并請求**以查看這些合并請求. 該視圖還具有打開和關閉的合并請求選項卡. 您可以從此處[搜索和過濾結果](../../search/index.html#filtering-issue-and-merge-request-lists) . [![Group Issues list view](https://img.kancloud.cn/45/a5/45a5c3e9855260c6e0897f9b7c95b081_2586x1140.png)](img/group_merge_requests_list_view.png) ## Semi-linear history merge requests[](#semi-linear-history-merge-requests "Permalink") 將為每個合并創建一個合并提交,但是只有在可能進行快速合并的情況下才合并分支. 這樣可以確保如果合并請求構建成功,則合并后目標分支構建也將成功. 導航到項目的設置,在" **合并請求:合并"方法**下選擇" **使用半線性歷史** **合并合并"**選項,然后保存更改. ## View changes between file versions[](#view-changes-between-file-versions "Permalink") **更改**選項卡位于主要合并請求詳細信息下方,并且在討論選項卡旁邊,顯示了分支或提交之間文件的更改. 這種對文件更改的視圖也稱為**diff** . 默認情況下,差異視圖將合并請求分支中的文件與目標分支中的文件進行比較. The diff view includes the following: * 文件的名稱和路徑. * 添加和刪??除的行數. * 用于以下選項的按鈕: * 切換此文件的注釋; 用于內聯評論. * 在合并請求的分支中編輯文件. * 顯示完整文件,以防您要查看上下文中文件其余部分的更改. * 在當前提交時查看文件. * 使用[Review Apps](../../../ci/review_apps/index.html)預覽更改. * 已更改的行,突出顯示了特定的更改. [![Example screenshot of a source code diff](https://img.kancloud.cn/f7/28/f7287542d817e301a8cd266dffad746f_1722x611.png)](img/merge_request_diff_v12_2.png) ### Merge request diff file navigation[](#merge-request-diff-file-navigation "Permalink") 在" **更改"**選項卡中查看更改時,可以使用文件樹或文件列表來瀏覽差異. 在具有許多更改的大型差異中滾動時,可以使用文件樹或文件列表快速跳轉到任何更改的文件. [![Merge request diff file navigation](https://img.kancloud.cn/7c/9c/7c9cf6a0071a9d72fed8205c922abc8f_2244x1024.png)](img/merge_request_diff_file_navigation.png) ### File-by-file diff navigation[](#file-by-file-diff-navigation "Permalink") 版本歷史 * 在 GitLab 13.2 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/222790) . * 它部署在默認情況下啟用的功能標志后面. * 建議用于生產. * 在 GitLab.com 上啟用了它. * 對于 GitLab 自我管理的實例,GitLab 管理員可以選擇[禁用它](#enable-or-disable-file-by-file-diff-navigation-core-only) . 對于較大的合并請求,有時一次查看單個文件可能會很有用. 要啟用,請從右上角導航欄上的頭像,單擊**"設置"** ,然后轉到左側邊欄上的**"首選項"** . 向下滾動到" **行為"**部分,然后**在合并請求的"更改"標簽上**選擇**"一次顯示一個文件"** . 點擊**保存更改**以應用. 從那里,在查看合并請求的" **更改"**選項卡時,一次只能看到一個文件. 然后,您可以單擊按鈕上**一個**和**下一個**以查看其他已更改的文件. [![File-by-file diff navigation](https://img.kancloud.cn/5f/93/5f931f442cb521b47deacf55aec4c038_2634x1402.png)](img/file_by_file_v13_2.png) #### Enable or disable file-by-file diff navigation[](#enable-or-disable-file-by-file-diff-navigation-core-only "Permalink") 逐文件差異導航正在開發中,但已準備好用于生產. 它部署在**默認情況下啟用**的功能標志的后面. [有權訪問 GitLab Rails 控制臺的 GitLab 管理員](../../../administration/feature_flags.html)可以選擇為您的實例禁用它. 要啟用它: ``` # Instance-wide Feature.enable(:view_diffs_file_by_file) ``` 禁用它: ``` # Instance-wide Feature.disable(:view_diffs_file_by_file>) ``` ### Merge requests commit navigation[](#merge-requests-commit-navigation "Permalink") [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/18140) in GitLab 13.0. 要在合并請求中的**提交**之間無縫導航,請從" **提交"**選項卡中,單擊其中一個提交以打開單提交視圖. 從那里,您可以通過單擊頁面右上角的**Prev**和**Next**按鈕或使用`X`和`C`鍵盤快捷鍵在提交之間進行導航. ### Incrementally expand merge request diffs[](#incrementally-expand-merge-request-diffs "Permalink") 默認情況下,差異僅顯示文件中已更改的部分. 要查看更改上方或下方的更多未更改行,請單擊" **向上** **擴展"**或" **向下擴展"**圖標. 您也可以單擊**顯示未更改的行**以展開整個文件. [![Incrementally expand merge request diffs](https://img.kancloud.cn/55/ab/55abf07dbf8792677b4190f44ea6927b_1352x419.png)](img/incrementally_expand_merge_request_diffs_v12_2.png) 在 GitLab 13.1 中[引入](https://gitlab.com/gitlab-org/gitlab/-/issues/205401) ,當查看合并請求的**更改**選項卡時,如果僅重命名了某個文件,則可以通過單擊**顯示文件內容**展開它以查看全部**內容** . ### Ignore whitespace changes in Merge Request diff view[](#ignore-whitespace-changes-in-merge-request-diff-view "Permalink") 如果單擊" **隱藏空白更改"**按鈕,則可以看到沒有空白更改的差異(如果有的話). 在特定的提交頁面上,這也可以工作. [![MR diff](https://img.kancloud.cn/df/b1/dfb140cebd1d02889ca06cbd257e6040_1019x389.png)](img/merge_request_diff.png) > **提示:**您可以在合并請求的差異頁面上附加`?w=1` ,以忽略任何空格更改. ## Perform inline code reviews[](#perform-inline-code-reviews "Permalink") 在 GitLab 11.5 中[引入](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/13950) . GitLab 提供了一種在合并請求中更改文件的任何部分中保留注釋的方法. 為此,請在"合并請求"差異 UI 的裝訂線中單擊**…**按鈕以展開差異行并留下評論,就像更改行一樣. [![Comment on any diff file line](https://img.kancloud.cn/95/87/9587cca86340cae996568e4176621375_1450x1234.png)](img/comment-on-any-diff-line.png) ## Pipeline status in merge requests widgets[](#pipeline-status-in-merge-requests-widgets "Permalink") 如果您在項目中設置了[GitLab CI / CD](../../../ci/README.html) ,您將能夠看到: * 合并前和合并后管道以及環境信息(如果有). * 正在進行哪些部署. 如果存在[環境](../../../ci/environments/index.html)并且已將應用程序成功部署到該環境,則還將顯示已部署的環境以及指向 Review App 的鏈接. ### Post-merge pipeline status[](#post-merge-pipeline-status "Permalink") 合并請求合并后,可以看到合并請求合并到的分支的合并后管道狀態. 例如,當合并請求合并到 master 分支中,然后觸發到暫存環境的部署時. 將顯示正在進行的部署,以及環境的部署/部署狀態. 如果是第一次部署分支,則該鏈接將返回`404`錯誤,直到完成. 在部署期間,停止按鈕將被禁用. 如果管道無法部署,則部署信息將被隱藏. [![Merge request pipeline](https://img.kancloud.cn/af/c9/afc952baf349d9c3966968074f7e2bc6_958x803.png)](img/merge_request_pipeline.png) 有關更多信息,請[閱讀有關管道](../../../ci/pipelines/index.html) . ### Merge when pipeline succeeds (MWPS)[](#merge-when-pipeline-succeeds-mwps "Permalink") 設置一個看起來準備合并的合并請求,以[在 CI 管道成功時自動合并](merge_when_pipeline_succeeds.html) . ### Live preview with Review Apps[](#live-preview-with-review-apps "Permalink") 如果為項目配置了[Review Apps](https://about.gitlab.com/stages-devops-lifecycle/review-apps/) ,則可以逐分支預覽通過合并請求提交給功能分支的更改. 無需檢出分支機構,在本地安裝和預覽; 帶有"評論應用"鏈接的任何人都可以預覽所有更改. 設置了 GitLab 的" [路線圖"后](../../../ci/review_apps/index.html#route-maps) ,合并請求小部件會將您直接帶到已更改的頁面,從而使預覽建議的修改變得更加輕松快捷. [Read more about Review Apps](../../../ci/review_apps/index.html). ## Associated features[](#associated-features "Permalink") 還有大量與合并請求關聯的功能: | Feature | Description | | --- | --- | | [Bulk editing merge requests](../../project/bulk_editing.html) | 同時更新多個合并請求的屬性. | | [Cherry-pick changes](cherry_pick_changes.html) | 只需在合并的合并請求或提交中單擊**Cherry-pick**按鈕,即可在 UI 中 Cherry-pick 任何**選擇** . | | [Fast-forward merge requests](fast_forward_merge.html) | 有關線性 Git 歷史記錄以及接受合并請求而不創建合并提交的方法 | | [Find the merge request that introduced a change](versions.html) | 當查看提交詳細信息頁面時,GitLab 將鏈接到包含該提交的合并請求. | | [Merge requests versions](versions.html) | 選擇并比較合并請求差異的不同版本 | | [Resolve conflicts](resolve_conflicts.html) | GitLab 可以提供選項來解決 GitLab UI 中的某些合并請求沖突. | | [Revert changes](revert_changes.html) | 從合并請求中的任何提交還原更改. | ## Troubleshooting[](#troubleshooting "Permalink") 有時,合并請求中的操作并沒有按預期進行,這是一些故障排除步驟. ### Merge request cannot retrieve the pipeline status[](#merge-request-cannot-retrieve-the-pipeline-status "Permalink") 如果 Sidekiq 沒有足夠快地進行更改,則會發生這種情況. #### Sidekiq[](#sidekiq "Permalink") Sidekiq 沒有足夠快地處理 CI 狀態更改. 請等待幾秒鐘,狀態將自動更新. #### Bug[](#bug "Permalink") 發生以下情況時,無法檢索合并請求管道的狀態: 1. 創建合并請求 2. 合并請求已關閉 3. 在項目中進行了更改 4. 合并請求被重新打開 要正確檢索管道狀態,請再次關閉并重新打開"合并請求". ## Tips[](#tips "Permalink") 以下是一些技巧,可幫助您在命令行中更有效地處理合并請求. > **注意:**此部分將來可能會在其自己的文檔中移動. ### Checkout merge requests locally[](#checkout-merge-requests-locally "Permalink") 合并請求包含來自存儲庫的所有歷史記錄,以及添加到與合并請求關聯的分支的其他提交. 這是一些在本地檢出合并請求的技巧. 請注意,即使源項目是目標項目的分支(甚至是私有分支),也可以在本地簽出合并請求. #### Checkout locally by adding a Git alias[](#checkout-locally-by-adding-a-git-alias "Permalink") 將以下別名添加到`~/.gitconfig` : ``` [alias] mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' - ``` 現在,您可以從任何存儲庫和任何遠程簽出特定的合并請求. 例如,要從`origin`遠程服務器簽出 ID 為 5 的合并請求(如 GitLab 所示),請執行以下操作: ``` git mr origin 5 ``` 這會將合并請求提取到本地`mr-origin-5`分支中,并檢出它. #### Checkout locally by modifying `.git/config` for a given repository[](#checkout-locally-by-modifying-gitconfig-for-a-given-repository "Permalink") 在`.git/config`文件中找到適用于 GitLab 遙控器的部分. 看起來像這樣: ``` [remote "origin"] url = https://gitlab.com/gitlab-org/gitlab-foss.git fetch = +refs/heads/*:refs/remotes/origin/* ``` 您可以使用以下方式打開文件: ``` git config -e ``` 現在,將以下行添加到上面的部分: ``` fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* ``` 最后,它應如下所示: ``` [remote "origin"] url = https://gitlab.com/gitlab-org/gitlab-foss.git fetch = +refs/heads/*:refs/remotes/origin/* fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/* ``` 現在,您可以獲取所有合并請求: ``` git fetch origin ... From https://gitlab.com/gitlab-org/gitlab-foss.git * [new ref] refs/merge-requests/1/head -> origin/merge-requests/1 * [new ref] refs/merge-requests/2/head -> origin/merge-requests/2 ... ``` 并檢查特定的合并請求: ``` git checkout origin/merge-requests/1 ``` 以上所有操作均可通過[`git-mr`](https://gitlab.com/glensc/git-mr)腳本完成.
                  <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>

                              哎呀哎呀视频在线观看