在git中,如何回滚分支中的特定提交,而即使在合并之后也不回滚父分支中的特定提交?

在git中,如何回滚分支中的特定提交,而即使在合并之后也不回滚父分支中的特定提交?,git,git-flow,Git,Git Flow,希望这将是一个简单的问题。我对git还比较陌生,有些东西我还不知道,git 假设情况: 假设开发分支包含两个提交,c1和c2 c2之后会创建一个释放分支,因此该释放分支还包含c1和c2 然后决定c1需要推迟到以后的版本 当发布分支合并回develop时,从发布分支中删除c1而不从develop分支中删除c1的推荐方法是什么?我不确定推荐的方法是否正确,但它可以解决您的问题: 从发布分支恢复提交c1。(git revert) 合并要开发的发布分支时,恢复步骤1中生成的revert commit。(

希望这将是一个简单的问题。我对git还比较陌生,有些东西我还不知道,git

假设情况:

假设开发分支包含两个提交,c1和c2

c2之后会创建一个释放分支,因此该释放分支还包含c1和c2

然后决定c1需要推迟到以后的版本


当发布分支合并回develop时,从发布分支中删除c1而不从develop分支中删除c1的推荐方法是什么?

我不确定推荐的方法是否正确,但它可以解决您的问题:

  • 从发布分支恢复提交c1。(
    git revert
  • 合并要开发的发布分支时,恢复步骤1中生成的revert commit。(
    git revert)

  • Git revert命令:-
    Git revert

    Upvote。解决了问题,但这样做有点长是的,我知道。我相信会有更好的解决办法。是的,答案有帮助。。。但我想等着看是否有人有更优雅的东西。我得到的三个答案是:1)下面的一个。2) 从c1之前重新创建发布分支,然后将c2插入其中。3) 只需在发布分支中恢复c1,然后让它消失(不要合并回开发)。在我的特殊情况下,我倾向于3。应该有更好的。让我们等一下。我不确定会有一个更短的解决方案。我唯一能想到的另一种方法是在C1之前对提交上的发布分支进行重定,然后进行樱桃采摘手术。重定开发分支的基础,使c2首先出现,然后再将发布分支从该分支上移除?