2016-08-07 102 views
2

有時pull requests是相當複雜和/或潛在bug-是繼續。在這種情況下,僅通過閱讀代碼來檢查拉取請求可能有點不合理。對checkout,pullbuild而言,在merging之前首先在本地拉取請求更有意義。通過這種方式,維護人員可以更有把握地確定拉取請求不會引入任何迴歸問題。如何在SourceTree本地簽出分叉拉取請求?

enter image description here

我可以相當容易地檢出從command-line拉的要求,但我更喜歡使用SourceTree。我知道使用命令行很簡單直接,但我相信只要有可能就使用命令行工具來使用GUI工具。 SourceTree已成爲windows的事實上的標準gui git client,所以看起來SourceTree似乎具有這種基本功能。但是,我嘗試了許多不同的命令和對話框,並且我似乎無法訪問SourceTree中的拉取請求。

可以使用SourceTree在本地拉取拉請求嗎?怎麼樣?

+0

做一個獲取和創建上提交一個新的分支? – Michael

+0

@Michael - 在SourceTree中似乎不起作用。提取對話框沒有允許提取拉取請求的選項。 –

+0

抱歉說出不瞭解這個問題。從來沒有工作與拉請求之前:) – Michael

回答

1

無法直接在SourceTree中檢出來自分叉回購的拉取請求。

我把這個問題也轉發到了atlassian問題和答案板,以及the question was answered in a comment

從我知道有沒有辦法做到 sourcetree直接在這個動作,因爲sourcetree用於與混帳回購 ,你必須在本地而不是與永久居民或遠程回購該 攜手合作您可能有權訪問Bitbucket或Github。

本質上,你必須單獨克隆其他回購,並切換到任何分支正在用於拉請求。

有種悲傷的這種功能從命令行非常容易,但在SourceTree的Gui中更加麻煩。

0

您可以獲取pr分支,然後像對待其他分支一樣對待PR。見https://gist.github.com/piscisaureus/3342247

基本上,所有的PR是refs/pull/*/head,在那裏你平時所使用的所有分支正在refs/heads

+0

我想我試過在SourceTree中獲取時間,但它不可用,因爲拉請求是從另一個用戶的分叉回購庫發出的。據我所知,如果不克隆其他用戶的分叉repo並切換到pull請求分支,就無法做到這一點。這些都在SourceTree中,它在SourceTree之外做這件事很簡單,但我一直在尋找一個SourceTree特定的答案。 –

2

我碰到你的問題就在尋找這樣做不使用命令窗口的更好的方式下。

我目前的做法是:

  1. 添加叉發起的PR(拉請求)爲遠程
  2. 做一個取來獲得分支中的列表,並
  3. 退房分支的公關。

它不直接訪問PR,但它確實爲我提供了一個本地副本。我仍然接受併合並或通過github要求修改。如果公關更改,我只需將更新插入分支。

Sourcetree似乎將PR視爲管理本地更改返回到原始回購的手段。

0

根本不可能在Bitbucket上籤出一個分叉回購。

你要下載補丁和應用測試

# Download the patch file. 
curl -u user:password https://bitbucket.org/api/2.0/repositories/{user}/{repo}/pullrequests/{pull_no}/patch -L -o name.patch 

# Apply the patch file to your local Git checkout. 
git apply name.patch