Skip to main content
 首页 » 编程设计

github之如何在*没有* github 帐户的情况下发出拉取请求

2024年08月12日7cloudgamer

git 的目标之一是去中心化。如果 Github 是 ... git 的中心,那么也许它可以考虑到那里还有其他中心,并允许在不存在的 git URL 上发生拉取请求 托管在 github 上。

documentation关于这一点相当清楚:拉取请求要求您有一个 Github 帐户,并且您在 github 上 fork 一个存储库。这是当前真正的技术限制吗?还是有办法在 Github 上解决这个问题?

如果没有,最终是否计划允许 Github 的“拉取请求”工具真正允许从 Github 孤岛之外的存储库拉取?

请您参考如下方法:

您可以使用git request-pull实现相同类型的工作流程(使用 Git1.7.9+ 进行了改进)。

请参阅文章“using signed tag in pull-requests

A typical distributed workflow using Git is for a contributor to fork a project, build on it, publish the result to her public repository, and ask the "upstream" person (often the owner of the project where she forked from) to pull from her public repository. Requesting such a "pull" is made easy by the git request-pull command.

Starting from Git release v1.7.9, a contributor can add a signed tag to the commit at the tip of the history and ask the integrator to pull that signed tag.
When the integrator runs git pull:

  • the signed tag is automatically verified to assure that the history is not tampered with.
  • 此外,生成的合并提交会记录签名标签的内容,以便其他人可以验证集成者合并的分支是否由贡献者签名,而无需单独获取用于验证拉取请求的签名标签和将其保存在 refs 命名空间中。
<小时 />

使用 Git 2.40(2023 年第 1 季度),“git request-pull( man ) 可以使用非 PGP 签名从签名标签中删除嵌入的签名。

参见commit a9cad02 (2023 年 1 月 25 日)作者:Gwyneth Morgan (gwymor) .
(由 Junio C Hamano -- gitster --commit ad7fd3c 合并,2023 年 2 月 8 日)

request-pull: filter out SSH/X.509 tag signatures

Signed-off-by: Gwyneth Morgan

git request-pull(man) filters PGP signatures out of the tag message, but not SSH or X.509 signatures.