2016-07-11 50 views
20

我創建了拉取請求,並將其合併到錯誤的分支。我如何恢復它?在Bitbucket上還原合併的拉取請求

到目前爲止,我一直在找出在那裏看看,我能夠硬重置目標分支......但是,如何在origin存儲庫中的拉請求?

我正在使用Bitbucket,並且我從SourceTree創建了拉取請求(打開Bitbucket頁面)。

我有三個分支正在處理:master,devcreate-aliascreate-aliasdevdev設置爲mastermaster -> dev -> create-alias。問題是我從create-alias提出了一個pull請求,我並沒有將它合併到master而不是dev

我正在致力於create-alias分支。 create-alias上的最後一次提交是6ee20f9,並且master上的合併提交是be36f72

你能否寫下我關於誰一步步恢復的信息?

據我已經能夠弄清楚:

  1. master結賬。
  2. 還原-m 1 6ee20f9
  3. 推。
  4. 結帳create-alias並繼續工作。

是不是?

回答

41

不幸的是,截至撰寫本文時,Bitbucket上沒有「Revert Pull Request」功能,而是feature request exists for it

注意:在繼續之前,請確保您的工作副本清潔,沒有未提交或未修改的更改。因此,你將不得不恢復合併在Git中。首先,找到合併提交的SHA哈希。

在命令行,這就是:

git checkout <branch> 
git pull 
git log 

然後,我們還原的合併提交,並將它推:

git revert -m 1 <SHA-1> 
git push 

在SourceTree,先結賬分支問題,然後。在日誌窗口中找到合併提交,然後右鍵單擊它,然後單擊將SHA-1複製到剪貼板...。然後轉至操作 - >在終端中打開。一旦終端打開後,鍵入:

git revert -m 1 <SHA-1 (from clipboard)> 
git push 

不幸的是,SourceTree沒有辦法簡單地右鍵單擊並恢復合併,但feature request exists for it

+0

我已經添加了一些關於存儲庫狀態的信息。請你能給我寫下一步一步的指導嗎?我寫下了我的方法。 – Jordi

4

Bitbucket現在已經發布了「合併拉取請求」功能。 按照this link瞭解更多信息。