通过 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 的核心功能之一。假设您有两个分支(developmentproduction),以下是合并更改的方式:

# 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)合并分支的最快方法?的主要内容,如果未能解决你的问题,请参考以下文章

git 常用的撤销操作

Gitlab应用——开发人员fetch分支,合并到master主分支申请

怎么从gitlab中克隆分支代码

Git 分支的创建、切换、合并以及解决冲突、删除

git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this pr

git工作中新建创建,合并分支