【发布时间】:2016-05-14 23:23:26
【问题描述】:
我搜索了 Atlassian 文档并找到了这个 ref/pull-requests/$PR_NO/from,当我尝试获取它时,我遇到了这个错误 Couldn't find remote ref refs/pull-requests/1/from。有没有办法启用这个参考?还是 webhook 是唯一的选择?我正在尝试使用 Bitbucket 进行 CI 设置。
(我们采用 10 用户付费计划)
【问题讨论】:
我搜索了 Atlassian 文档并找到了这个 ref/pull-requests/$PR_NO/from,当我尝试获取它时,我遇到了这个错误 Couldn't find remote ref refs/pull-requests/1/from。有没有办法启用这个参考?还是 webhook 是唯一的选择?我正在尝试使用 Bitbucket 进行 CI 设置。
(我们采用 10 用户付费计划)
【问题讨论】:
这现在是可能的。您只需在<repo_root>/.git/config 中添加这样一行:
[remote "origin"]
url = ...
fetch = ...
fetch = +refs/pull-requests/*:refs/pull-requests/*
当你抓取时,你会看到一组全新的 refs 出现:
$ git fetch origin
remote: Counting objects: 252, done.
remote: Compressing objects: 100% (48/48), done.
remote: Total 82 (delta 20), reused 0 (delta 0)
Unpacking objects: 100% (82/82), done.
From ...
* [new ref] refs/pull-requests/300/from -> refs/pull-requests/300/from
* [new ref] refs/pull-requests/300/merge -> refs/pull-requests/300/merge
* [new ref] refs/pull-requests/302/from -> refs/pull-requests/302/from
* [new ref] refs/pull-requests/323/from -> refs/pull-requests/323/from
* [new ref] refs/pull-requests/323/merge -> refs/pull-requests/323/merge
* [new ref] refs/pull-requests/344/from -> refs/pull-requests/344/from
* [new ref] refs/pull-requests/344/merge -> refs/pull-requests/344/merge
* [new ref] refs/pull-requests/350/from -> refs/pull-requests/350/from
* [new ref] refs/pull-requests/350/merge -> refs/pull-requests/350/merge
* [new ref] refs/pull-requests/355/from -> refs/pull-requests/355/from
* [new ref] refs/pull-requests/355/merge -> refs/pull-requests/355/merge
*/from 为您提供公关部门负责人; */merge 为您提供将 PR 与目标分支合并的结果。
更多详情请见Pull request proficiency: Fetching abilities unlocked!
【讨论】:
【讨论】:
Bitbucket Server (Stash) 支持(自托管)
Stash 支持 refspecs,可通过以下命令使用
git config --add remote.origin.fetch '+refs/pull-requests//from:refs/remotes/origin/pr/'
您可以检查您的 .git/config 文件以查看其设置是否正确
[remote "upstream"]
url = git@stash.atlassian.com:docker/libswarm.git
fetch = +refs/heads/*:refs/remotes/upstream/*
fetch = +refs/pull-requests/*/from:refs/remotes/upstream/pr/*
https://www.atlassian.com/blog/archives/how-to-fetch-pull-requests
Bitbucket Cloud (bitbucket.com) 不支持
Bitbucket Cloud 目前不支持 refspec 上的 PR,可用选项是 Poll Bitbucket 的 Git 或 API Endpoint
https://jira.atlassian.com/browse/BCLOUD-5814
鉴于该请求已被搁置 7 年,明智的做法是不要等待 refspec 实施(截至 2019 年 11 月)
【讨论】: