微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有 Git URI 方案可以让我在特定提交时引用存储库中的文件?

如何解决是否有 Git URI 方案可以让我在特定提交时引用存储库中的文件?

git Resource Identifier Scheme 允许我引用特定的 git 存储库。

但是,我正在寻找一种 URI 方案,让我可以在特定的 git 存储库中的特定提交中引用特定文件/文件夹。例如,比喻 URI git://github.com/torvalds/linux.git:usr/Makefile@a30d8a39f0571425a459816ed8680e987a2ff279 可用于在提交 usr/Makefile 时引用存储库 git://github.com/torvalds/linux.git 中的文件 a30d8a39f0571425a459816ed8680e987a2ff279。是否有标准的 URI 方案可以实现这一点?

明确地说,我对适用于所有 git 服务器的 URI 方案感兴趣,而不是例如一个适用于例如的 HTTP URL仅限 GitHub 或 GitLab。

解决方法

Git 本身与文件无关;这是关于提交。所以主要的 Git 命令是关于与另一个存储库交谈并获得提交。 Git 理解的 URL 旨在实现这一点,并且他们确实做到了,这就是他们停止的地方。

the git archive command,它与 --remote url 一起可以从一个特定提交中提取部分或所有文件的存档,前提是服务器允许。不过,这不是一个特定的文件 URL/URI:这是一个 Git 命令,它可以访问 Git 服务器(同样,它通常提供 commits)然后询问如果 Git 服务器愿意准备单个提交或其子集,作为 tar 或 zip 存档。通过提供单个文件的路径作为子集,您可以从特定 Git 服务器上的特定提交中提取单个文件。但这就是 Git 朝着实现您的目标迈进的范围——您将提供给 git archive 的参数再次不是 URL/URI。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。