我想用pip安装一个git pull请求,以便在我的本地virtualenv中进行测试。我想直接从github安装它,而无需创建本地git存储库。
答案 0 :(得分:32)
您可以通过附加哈希值来向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
答案 1 :(得分:10)
github为您提供的一个简洁功能是,它会抢先合并拉取请求并使其可用作您可以专门获取的隐藏参考。如果您正在构建CI系统来测试拉取请求,那就太棒了。
直到最近,pip还没有支持指定这些隐藏的引用,但在上个月,pip支持landed(确认在10.0.1中工作)。
以下命令将为user/repo
安装合并版本的拉取请求123:
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