在GitHub.com上恢复受保护分支的合并提交
我们已经在GitHub上保护了我们的开发分支,这样没有下游可以直接推送它们的提交。 提交需要通过特定的功能分支并通过拉取请求合并。
出现了一个特性分支合并到开发分支(经过适当审查和更改)后,我们需要稍后恢复(也许是由于需求变化)的情况。 如果我尝试恢复下游的合并提交,它将不允许我推送,因为分支受到保护。 我记得当我们合并分支时,GitHub提供了回复按钮。 但不知何故,我现在无法看到(或找到)按钮。 我们需要在优先级上恢复提交,因此我们暂时从开发分支中删除了保护,并推迟了恢复提交(最丑陋的黑客)。
有没有其他更好的选择来恢复受保护分支的提交? 也许我错过了或误解了一些GitHub功能。
还有一种情况是,如果我在合并后从GitHub中删除了分支,那么我该如何恢复它呢?
在GitHub上恢复
您不需要在GitHub上恢复(取消删除)分支以恢复因请求而产生的合并提交。 例如:
不可恢复的拉动请求
有时回复按钮不会出现。 从GitHub帮助恢复拉取请求:
注意:如果出现以下情况,您可能需要使用Git手动还原单个提交:
我花了一段时间才找到一个例子,但是如果头部分支没有使用GitHub上的大绿色按钮合并到基本分支中,那么它不能在GitHub上恢复:
git revert
在本地的命令行中,您可以使用git revert
命令来恢复更改。
这将适用于您的受保护分支和下游分支。 git revert
会在当前HEAD之前创建一个新的提交,因此您不需要强制推送,并且如果来自下游分支,则可以手动为已还原的更改创建拉取请求。
恢复合并提交比恢复单亲提交要复杂得多,所以我建议看一下这个问题以获取更多信息,因为这是我以前从未做过的事情。
如果人们不习惯使用命令行,我认为SourceTree在上下文菜单上有一个项目来恢复提交,但我不知道它如何处理合并提交。 其他GUI应用程序中可能有类似的选项。
希望这可以帮助!
链接地址: http://www.djcxy.com/p/49827.html上一篇: Revert a merge commit from a protected branch on GitHub.com
下一篇: How to reset a branch to the state before pushing to a commit