如何在不调用Github API的情况下获取GitBash中特定分支的现有Pull Request ID和Url?

时间:2018-12-20 22:57:35

标签: git terminal git-branch git-bash pull-request

我需要找到问题所描述的确切情况的解决方案。

我只有一个功能分支ID,我需要在GitBash(2.20.1)或终端上获得拉取请求ID或网址,而无需调用Github API。

我已经尝试过了,但是它不适用于每个分支机构,或者永远都不适用,

git ls-remote origin 'pull/*/head' | grep -F -f <(git rev-parse HEAD) | awk -F'/' '{print $3}'

1 个答案:

答案 0 :(得分:0)

  

,但它不适用于每个分支机构或始终如此,

那是因为:

  • 您的任何一个分支都不是GitHub PR分支的一部分
  • 或者您的分支尚未将新的本地提交推送到PR分支,这意味着(本地HEAD提交的)grep只能失败。

请尝试检查PR分支HEAD是否属于您当前的分支历史记录,而不是grepping。
参见“ How to list branches that contain a given commit?

git fetch origin +refs/pull/*/head:refs/remotes/origin/pr/*
git branch -a --contains <commit>

如果您有任何/pull/分支机构,则将获得所需的PR。