如何合并以前的提交
我已经设置了Gitlab,并且正在尝试遵循这里提到的工作流程:Gitlab生产分支流程。
现在我的资料库看起来像这样:
我被要求只将master
分支的commit A
与production
分支合并。 做这个的最好方式是什么?
我应该使用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