42

我想用 pip 安装一个 git pull 请求,以便在我的本地 virtualenv 中进行测试。我想直接从 github 安装它,而不创建本地 git 存储库。

4

2 回答 2

47

您可以通过附加哈希将确切的提交添加到 URL:

pip install git+https://github.com/other-repository/project.git@remote_branch_name

例子:

pip install --user git+https://github.com/d1b/pip.git@fix_pip_build_directory

或单次提交。但是,如果拉取请求(远程分支)得到更新,这不会得到更新:

pip install --user git+https://github.com/d1b/pip.git@d89b5803db2b520e754b9b26b771d22121738637
于 2012-11-26T09:06:50.923 回答
41

github 为您提供的一个简洁功能是它抢先合并拉取请求并将它们作为您可以专门获取的隐藏引用提供。如果您正在构建一个 CI 系统来测试拉取请求,这非常棒。

直到最近,pip 还不支持指定这些隐藏的 refs,但在上个月,pip 已经对此提供了支持确认在 10.0.1 中工作)。

以下命令将为以下命令安装合并版本的拉取请求 123 user/repo

pip install git+https://github.com/user/repo.git@refs/pull/123/merge

此外,要安装拉取请求 123 的未合并版本(不要弄乱 github API 来追踪原始分支!):

pip install git+https://github.com/user/repo.git@refs/pull/123/head
于 2018-04-30T06:40:33.283 回答