How to checkout merge request locally, and create new local branch?

后端 未结 4 1229
故里飘歌
故里飘歌 2021-01-31 18:14

I have GitLab repository there and I need to test every merge request locally, before merging to the target branch.

How can I pull/fetch merge request as a new branch?<

相关标签:
4条回答
  • 2021-01-31 18:33

    There is a Check out branch button in GitLab.


    Then you can copy comments from Step 1. Fetch and check out the branch for this merge request.

    git fetch <repo> <branch>
    git checkout -b <branch>
    

    0 讨论(0)
  • 2021-01-31 18:37
    1. Pull merge request to new branch

      git fetch origin merge-requests/REQUESTID/head:BRANCHNAME

      i.e git fetch origin merge-requests/10/head:file_upload

    2. Checkout to newly created branch

      git checkout BRANCHNAME

      i.e (git checkout file_upload)

    OR with single command

    git fetch origin merge-requests/REQUESTID/head:BRANCHNAME && git checkout BRANCHNAME

    i.e git fetch origin merge-requests/18/head:file_upload && git checkout file_upload

    0 讨论(0)
  • 2021-01-31 18:37

    This is also documented in GitLab online documentation : https://gitlab.com/help/user/project/merge_requests/index.md#checkout-merge-requests-locally

    They supply this script (git alias) :

    [alias]
        mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' -
    

    Then you can use this command :

    git mr origin 4

    So a new local branch mr-origin-4 will be created.

    0 讨论(0)
  • 2021-01-31 18:45

    You can also add the line

    fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
    

    to your .git/config to have git fetch fetch all merge requests.

    0 讨论(0)
提交回复
热议问题