如何合并以前的提交

我已经设置了Gitlab,并且正在尝试遵循这里提到的工作流程:Gitlab生产分支流程。

现在我的资料库看起来像这样:

在这里输入图像描述

我被要求只将master分支的commit Aproduction分支合并。 做这个的最好方式是什么?

我应该使用git cherry-pick命令吗? 我读过,我会用cherry-pick放弃版本历史。

如果我遇到这种情况,我需要继续合并之前的master分支到production分支的提交,我该如何处理?

我被困在这。 任何帮助是极大的赞赏。

谢谢,

更新:从主分支我可以只推送特定的提交: git push <remotename> <commit SHA>:<remotebranchname>

找到答案在这里:我如何推送一个特定的提交到远程,而不是以前的提交?


樱桃采摘是可行的,如果你特别想要选择提交所做的更改。 当你需要申请的提交没有按顺序发生时,这是最有利的。 就个人而言,我不建议你在主/生产分支上这样做,因为它不是一个好的长期发布策略。

我的建议基于git流程,我知道它与GitLab的方法有些不同。

如果这些是实际版本,请考虑遵循发布分支工作流程,在这种情况下,您在提交A上创建发布分支,然后合并到生产中。

如果这些修补程序/修补程序需要一些提交但不是全部(需要樱桃采摘),则可以从生产分支创建一个修补程序分支,首先选择需要提交到该分支的提交,然后在测试完成时将其合并投入生产。 如果在分支中应用了任何额外的更改或提交,它们将需要合并回您的开发分支。

链接地址: http://www.djcxy.com/p/49815.html

上一篇: How to merge previous commits

下一篇: Using JGit : How to push a specific commit to a remote repo