提交中不存在 Git 显示路径

问题描述 投票:0回答:1

我正在尝试使用 gitpython 获取特定提交的特定文件的内容,如下所示:

repo.git.show('{}:{}'.format(12cf56252dcb1535e0fbeb9c3e3586551af671ea, '%s/%s' % ('versions/library-2.6' ,'Dockerfile'))
但我收到此错误:

“Cmd('git')由于:退出代码(128)cmdline:git show 12cf56252dcb1535e0fbeb9c3e3586551af671ea:versions/library-2.6/Dockerfile stderr:'致命:路径'versions/library-2.6/Dockerfile'在'中不存在12cf56252dcb1535e0fbeb9c3e3586551af671ea''"

路径实际存在于该提交中: 链接到提交

但是,页面上出现警告说:“此提交不属于此存储库上的任何分支,并且可能属于存储库外部的分支。”

如何使用 gitpython 获取此提交中该文件的内容?

python git github commit gitpython
1个回答
0
投票

获取孤立的提交:

git fetch origin <full-40-char-sha>
# for example:
git fetch origin 12cf56252dcb1535e0fbeb9c3e3586551af671ea

这假设提交仍然存在于您要从中获取的回购协议中(并且您的遥控器称为

origin
)。对于许多基于服务的 SCM 工具,包括 GitHub 和 Azure DevOps,默认情况下,推送的提交永远不会被垃圾收集,并且将永远通过它们的完整哈希保持可访问性。

© www.soinside.com 2019 - 2024. All rights reserved.