通过 gitlab(或 git)合并分支的最快方法?
Posted
技术标签:
【中文标题】通过 gitlab(或 git)合并分支的最快方法?【英文标题】:Fastest way to merge branches via gitlab (or git)? 【发布时间】:2015-10-21 00:11:40 【问题描述】:我有一个开发分支和一个生产分支。我将更改从我的开发服务器推送到远程 gitlab 安装。然后我登录到 gitlab GUI 并执行合并请求(这非常耗时)。然后我从我的生产服务器“git pull origin production”。
合并请求步骤需要很长时间才能完成。有没有更快的方法来做到这一点?我可以制作一个 bash/shell 脚本来将开发合并到生产中并使用一个命令拉下更新吗?如果是这样,这个合并请求正在运行什么命令?
我每天发出几次合并请求。任何可以加快我所拥有的过程的东西都会很棒。
【问题讨论】:
可能是我对gitlab的不了解,但你不能在本地合并并直接推送到生产分支吗? @Kyle Anderson,你是只有一个遥控器和两个分支(生产和开发),还是有两个分支和两个遥控器,其中有相同的分支? 一个远程和两个分支(生产和开发) 【参考方案1】:您可以在不通过 UI 的情况下合并更改 - 这是 Git 的核心功能之一。假设您有两个分支(development
和 production
),以下是合并更改的方式:
# Check out development branch
git checkout development
# Make changes, commit...
...
# Optional: Push development changes to the remote
git push origin development
# Check out production branch
git checkout production
# Merge the changes from the development branch
git merge development
# Push the changes to the remote
git push origin production
# Check out the development branch again
git checkout development
现在登录生产服务器并将更改拉到那里。
您当然可以将上述结帐/合并/推送步骤放入脚本中 - 这很常见。
有一些方法可以在发生更改时自动拉取更改。这里有几个链接供您参考:
Git: auto pull from repository? https://johnflynn.me/autodeploy-your-gitlab-projects/【讨论】:
工作就像一个魅力。谢谢。 在我合并之前,我必须先创建本地生产仓库并拉入远程仓库,因为它在本地不存在 $ git branch production; git结帐生产; git pull 原产地生产;【参考方案2】:希望它对希望通过命令将您的分支合并到您的父分支的人有所帮助
git checkout planedtoMergeToThisBranch Git 合并开发分支NeedToMerge -> (开发) Git状态 git push origin planedtoMergeToThisBranch
【讨论】:
以上是关于通过 gitlab(或 git)合并分支的最快方法?的主要内容,如果未能解决你的问题,请参考以下文章
Gitlab应用——开发人员fetch分支,合并到master主分支申请
git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this pr