git的目标之一是分散。如果Github要成为git的中心,那么也许它可以考虑到那里有其他集线器,并且允许在没有的git URL上发生拉取请求托管在github上。
documentation对此非常清楚:拉取请求要求您拥有Github帐户,并且您在github 上分叉存储库。这是一个真正的当前技术限制还是有办法在Github上解决这个问题?
如果没有,是否最终计划允许Github的“拉取请求”工具实际允许从Github孤岛之外的存储库中提取?
答案 0 :(得分:38)
您可以使用git request-pull
来实现相同类型的工作流程(使用Git1.7.9 +进行了改进)。
请参阅文章“using signed tag in pull-requests”
使用Git的典型分布式工作流是让贡献者分叉项目,在其上构建,将结果发布到她的公共存储库,并询问“上游”人(通常是项目的所有者,她分叉)到拉从她的公共存储库。
git request-pull
命令可以轻松请求这种“拉”。从Git版本v1.7.9开始,贡献者可以在历史记录的末尾向提交添加签名标记,并要求集成商提取该签名标记。
当集成商运行git pull
时:
- 自动验证已签名的代码,以确保历史记录不会被篡改。
- 此外,生成的合并提交记录了签名标记的内容,以便其他人可以验证由集成商合并的分支是否由贡献者签名,而无需获取用于单独验证拉取请求的签名标记。将它保存在refs名称空间中。