如何查看当前分支的拉取请求URL?

时间:2018-03-08 21:46:57

标签: git bitbucket pull-request

推动更改后,我看到这样的文字:

Writing objects: 100% (5/5), 478 bytes | 239.00 KiB/s, done.
Total 5 (delta 4), reused 0 (delta 0)
remote:
remote: Create pull request for my-branch => master-branch
remote:   https://bitbucket.org/my-company/repo/pull-requests/12345

但如果我当时没有制作PR,并且文本滚动出视图,那么该网址就会消失。如何在不进行更改和再次提交/推送的情况下简单地生成或重新查看该URL?

5 个答案:

答案 0 :(得分:2)

我能够使用这样的批处理文件生成URL:

@echo off

setlocal 
for /f "tokens=*" %%a in ( 
    'git rev-parse --abbrev-ref HEAD'
) do ( 
    set branch=%%a
    set url=https://bitbucket.org/my-company/repo/pull-requests/new?source=%%a^^^&t=1
) 

echo %url%
endlocal 

它只是抓取当前的git分支并放入一个字符串,然后回显该字符串。

答案 1 :(得分:1)

此拉取请求URL不是git功能,而是由BitBucket服务器上的钩子脚本生成的消息。

在BitBucket服务器上,您可以使用以下命令全局禁用它:How do I disable the remote create pull request message when pushing changes?。在BitBucket云上你无法禁用它。

获取此消息的一个方面是使用--dry-run选项模拟git pull,例如:

git pull --dry-run 

但是如果这还不足以触发钩子,可能唯一的方法是通过BitBucket Web界面。

答案 2 :(得分:1)

此处列出的网址适用于已存在的提取请求 - "查看提取请求"文字是赠品。现有的拉取请求在URL中有一个ID,您需要指定;如果您不知道ID,那么您需要从GUI获取URL(functools.partial(execute, …)可能是最容易找到它的地方)。

如果您的分支机构还没有拉取请求,那么"创建拉取请求"钩子生成的链接是https://bitbucket.org/owner/repo/pull-requests/

答案 3 :(得分:0)

bash版本:

#!/bin/bash

org="myOrg"
branch=$(git rev-parse --abbrev-ref HEAD)
repo_dir=$(git rev-parse --show-toplevel)
repo=$(basename ${repo_dir})
url="https://bitbucket.org/${org}/${repo}/pull-requests/new?source=${branch}&t=1"

echo $url

答案 4 :(得分:0)

要使用网络浏览器(bitbucket 网络界面)创建拉取请求,请转到您分支的 branch 网页,或您的 bitbucket 存储库的 branches 页面。

使用问题中的示例:

<块引用>
remote: Create pull request for my-branch => master-branch
remote:   https://bitbucket.org/my-company/repo/pull-requests/12345

我们可以去 https://bitbucket.org/my-company/repo/branch/my-branch,有一个“创建拉取请求”链接。

或者我们可以去 https://bitbucket.org/my-company/repo/branches, 有一个名为“拉取请求”的列,对于没有现有拉取请求的分支,有一个“创建”链接。