検索

ホームページ  >  に質問  >  本文

请教各位前辈Github上Pull Request如果被Revert后,代码怎么还原?

请教各位前辈Github上Pull Request如果被Revert后,代码怎么还原?

场景如下:
现在有2个分支,一个为pre_release预发布分支,一个为feature_order特性分支

步骤如下:
1、现在我在feature_order特性分支上进行了修改,然后在GitHub上使用了Pull Request操作
2、pre_release预发布分支同意了该Pull Request请求,Merge了代码
3、但是此时发生了一些事情,需要进行Revert,使用GitHub上的Revert功能把该Pull Request进行Revert

症状如下:
1、Revert后,feature_order特性分支从pre_release预发布分支上拉取代码到本地进行Merge合并,发现之前Pull Request的代码被删除了
2、如果不从pre_release预发布分支上拉取代码,也不能再次进行Pull Request操作,显示没有改动,这里应该是和CommitId有关,因为Revert是发起一次新的Pull Request后进行的Merge,之前的Merge已经在历史中了,没有改动看起来也算合理

除非在pre_release预发布分支再次对刚刚Revert操作发起的Pull Request这整个操作产生的Commit再次进行Revert,也就是撤销“撤销”操作,这样的话不就把想撤下来的代码再次放到pre_release预发布分支才可以恢复过来……

我想要的是feature_order特性分支上的代码不被删除,可以对pre_release预发布分支发起Pull Request,撤消后代码不被删除

请问各位前辈该怎么做才对?实在是无解的死循环啊……

给我你的怀抱给我你的怀抱2764日前615

全員に返信(1)返信します

  • 迷茫

    迷茫2017-05-02 09:27:28

    この種のことに対処する私の方法は、通常、revert を使用せず、プルリクエストの前に pre_release ブランチをハッシュにリセットするだけです。
    この種のエラー操作に対処する場合に非常に役立つ、cherry-pick と rebase という 2 つのコマンドもお勧めします。
    私の日記の別の記事を添付します: http://leo108.com/pid-2026.asp

    返事
    0
  • キャンセル返事