[英]Revert a merged pull request on Bitbucket
我创建了一个拉取请求,并将它合并到一个错误的分支。 我怎样才能恢复它?
到目前为止,我一直想看看那边,我能够硬重置目标分支……但是, origin
存储库中的拉取请求怎么样?
我正在使用 Bitbucket 并且我已经从 SourceTree 创建了拉取请求(打开 Bitbucket 页面)。
我正在处理三个分支: master
、 dev
和create-alias
。 create-alias
是从dev
和dev
从master
: master -> dev -> create-alias
。 问题是我从create-alias
提出了一个拉取请求,我确实将它合并到master
而不是dev
。
我现在正在create-alias
分支。 create-alias
上的最后一次提交是6ee20f9
, master
上的合并提交是be36f72
。
你能帮我写下关于谁来逐步恢复它吗?
据我所知:
master
结帐。6ee20f9
。create-alias
并继续工作。不是吗?
不幸的是,在撰写本文时,Bitbucket上没有“恢复拉取请求”功能,但是对此存在功能请求 。
注意 :在继续操作之前,请确保您的工作副本是干净的,没有任何未提交或未做的更改。
因此,您必须还原Git中的合并。 首先,找到合并提交的SHA哈希。
在命令行上,这是:
git checkout <branch>
git pull
git log
然后,我们还原合并提交并将其推送:
git revert -m 1 <SHA-1>
git push
在SourceTree中,首先检出相关分支,然后检出Pull 。 在日志窗口中找到合并提交,然后右键单击它,然后单击“ 将SHA-1复制到剪贴板...” 。 然后转到操作->在终端中打开 。 终端打开后,键入:
git revert -m 1 <SHA-1 (from clipboard)>
git push
不幸的是,SourceTree无法简单地右键单击并还原合并,但是有一个功能请求 。
Bitbucket现在发布了“合并拉取请求”功能。 点击此链接以了解更多信息。
使用 bitbucket,我们无法恢复合并的拉取请求。 拉取请求中存在的还原选项将创建一个带有新头的新分支(在此提交之前)。 该分支稍后您必须合并到您的主/发布分支。 这一切都由官方Bitbucket doc传达。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.