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

 佩人永雪3 发布于 2022-10-26 04:58

请教各位前辈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,撤消后代码不被删除

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

1 个回答
  • 我处理这种事情的手段比较粗暴,通常不会使用revert而是reset,将pre_release分支reset到pull request之前的hash即可。
    另外推荐两个命令:cherry-pick和rebase,在处理这种错误操作的时候十分有用。
    另另外附一篇我的日志:http://leo108.com/pid-2026.asp

    2022-10-27 00:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有