git 私人仓库上的碰撞版本现在安装要求失败
Bumped version on git private repo and now install requirements fail
我可以访问 git 存储库,它实现了我在项目中使用的依赖项。自然地,这种依赖性在我的 requirements.txt 中是这样的:
git+https://HASH@github.com/repowner/dependency_name.git@v0.1.4
它一直运行良好,但最近我需要对依赖项进行一些更改,所以我打开了一个 pull request 并在合并之前让我的老师(repo 所有者)审查了它。在这个 PR 中,我也修改了版本,就像以前的 PR(来自另一位作者)一样。我所更改的只是一个纯文本的变更日志文件和 setup.py
:
setup.py
from setuptools import setup, find_packages
setup(
name="dependency_name",
version='0.1.5', #<<< Only changed this from 0.1.4 to 0.1.5
description="Desc",
license='...',
platforms=['OS Independent'],
keywords='...',
author='...',
url="https://github.com/repoowner/dependency_name",
packages=find_packages()
)
我认为这就足够了(因为以前是这样做的)。我已将 requirements.txt
更新为:
git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5
但是现在,当我尝试 pip install -r requirements.txt
我得到:
Collecting git+https://****@github.com/repoowner/dependency_name.git@v0.1.5 (from -r requirements.txt (line 3))
Cloning https://****@github.com/repoowner/dependency_name.git (to revision v0.1.5) to /tmp/pip-req-build-fvq5k_04
Running command git clone -q 'https://****@github.com/repoowner/dependency_name.git' /tmp/pip-req-build-fvq5k_04
WARNING: Did not find branch or tag 'v0.1.5', assuming revision or ref.
Running command git checkout -q v0.1.5
error: pathspec 'v0.1.5' did not match any file(s) known to git
ERROR: Command errored out with exit status 1: git checkout -q v0.1.5 Check the logs for full command output.
我是不是在升级版本的时候遗漏了什么?
顺便说一句:如果我尝试安装 0.1.4,它会在没有我最近更改的情况下安装。
您忘记使用 v0.1.5
标记标记 PR/merge 提交,如错误消息所建议:
WARNING: Did not find branch or tag 'v0.1.5', assuming revision or ref.
您可以通过使用命令 git tag
.
列出现有标签来确认这一点
创建并推送标签:
使用命令 git log
(您可以添加 --pretty=oneline
以获得更易于阅读的输出)并找到您想要的最近提交的哈希值将包含在 v0.1.5
tag/version
使用命令创建新标签 git tag -a v0.1.5 <hash_of_your_commit>
用git push --tags
推送新标签
有关标签的基本用法,请参阅git docs
我可以访问 git 存储库,它实现了我在项目中使用的依赖项。自然地,这种依赖性在我的 requirements.txt 中是这样的:
git+https://HASH@github.com/repowner/dependency_name.git@v0.1.4
它一直运行良好,但最近我需要对依赖项进行一些更改,所以我打开了一个 pull request 并在合并之前让我的老师(repo 所有者)审查了它。在这个 PR 中,我也修改了版本,就像以前的 PR(来自另一位作者)一样。我所更改的只是一个纯文本的变更日志文件和 setup.py
:
setup.py
from setuptools import setup, find_packages
setup(
name="dependency_name",
version='0.1.5', #<<< Only changed this from 0.1.4 to 0.1.5
description="Desc",
license='...',
platforms=['OS Independent'],
keywords='...',
author='...',
url="https://github.com/repoowner/dependency_name",
packages=find_packages()
)
我认为这就足够了(因为以前是这样做的)。我已将 requirements.txt
更新为:
git+https://HASH@github.com/repowner/dependency_name.git@v0.1.5
但是现在,当我尝试 pip install -r requirements.txt
我得到:
Collecting git+https://****@github.com/repoowner/dependency_name.git@v0.1.5 (from -r requirements.txt (line 3))
Cloning https://****@github.com/repoowner/dependency_name.git (to revision v0.1.5) to /tmp/pip-req-build-fvq5k_04
Running command git clone -q 'https://****@github.com/repoowner/dependency_name.git' /tmp/pip-req-build-fvq5k_04
WARNING: Did not find branch or tag 'v0.1.5', assuming revision or ref.
Running command git checkout -q v0.1.5
error: pathspec 'v0.1.5' did not match any file(s) known to git
ERROR: Command errored out with exit status 1: git checkout -q v0.1.5 Check the logs for full command output.
我是不是在升级版本的时候遗漏了什么?
顺便说一句:如果我尝试安装 0.1.4,它会在没有我最近更改的情况下安装。
您忘记使用 v0.1.5
标记标记 PR/merge 提交,如错误消息所建议:
WARNING: Did not find branch or tag 'v0.1.5', assuming revision or ref.
您可以通过使用命令 git tag
.
创建并推送标签:
使用命令
git log
(您可以添加--pretty=oneline
以获得更易于阅读的输出)并找到您想要的最近提交的哈希值将包含在v0.1.5
tag/version使用命令创建新标签
git tag -a v0.1.5 <hash_of_your_commit>
用
git push --tags
推送新标签
有关标签的基本用法,请参阅git docs