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 docs for git tag subcommand