如何在本地检出合并请求,并创建新的本地分支?
How to checkout merge request locally, and create new local branch?
我在那里有 GitLab 存储库,在合并到目标分支之前,我需要在本地测试每个合并请求。
如何pull/fetch 将请求合并为一个新分支?
将合并请求拉到新分支
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME
即
git fetch origin merge-requests/10/head:file_upload
结帐到新创建的分支
git checkout BRANCHNAME
即 (git checkout file_upload
)
或使用单个命令
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME && git checkout BRANCHNAME
即
git fetch origin merge-requests/18/head:file_upload && git checkout file_upload
这也记录在 GitLab 在线文档中:
https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html#checkout-merge-requests-locally-through-the-head-ref
他们提供了这个脚本(git 别名):
[alias]
mr = !sh -c 'git fetch merge-requests//head:mr-- && git checkout mr--' -
那么你可以使用这个命令:
git mr origin 4
因此将创建一个新的本地分支 mr-origin-4
。
您还可以添加行
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
您的 .git/config
让 git fetch
获取所有合并请求。
在 GitLab 中有一个 Check out branch 按钮。
然后您可以复制 步骤 1 中的评论。获取并检查此合并请求的分支。
git fetch <repo> <branch>
git checkout -b <branch>
我在那里有 GitLab 存储库,在合并到目标分支之前,我需要在本地测试每个合并请求。
如何pull/fetch 将请求合并为一个新分支?
将合并请求拉到新分支
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME
即
git fetch origin merge-requests/10/head:file_upload
结帐到新创建的分支
git checkout BRANCHNAME
即 (
git checkout file_upload
)
或使用单个命令
git fetch origin merge-requests/REQUESTID/head:BRANCHNAME && git checkout BRANCHNAME
即
git fetch origin merge-requests/18/head:file_upload && git checkout file_upload
这也记录在 GitLab 在线文档中: https://docs.gitlab.com/ee/user/project/merge_requests/reviewing_and_managing_merge_requests.html#checkout-merge-requests-locally-through-the-head-ref
他们提供了这个脚本(git 别名):
[alias]
mr = !sh -c 'git fetch merge-requests//head:mr-- && git checkout mr--' -
那么你可以使用这个命令:
git mr origin 4
因此将创建一个新的本地分支 mr-origin-4
。
您还可以添加行
fetch = +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
您的 .git/config
让 git fetch
获取所有合并请求。
在 GitLab 中有一个 Check out branch 按钮。
然后您可以复制 步骤 1 中的评论。获取并检查此合并请求的分支。
git fetch <repo> <branch>
git checkout -b <branch>