GitHub - 如何在共享服务器上克隆存储库而不授予我所有存储库的访问权限

Posted

技术标签:

【中文标题】GitHub - 如何在共享服务器上克隆存储库而不授予我所有存储库的访问权限【英文标题】:GitHub - How to clone repository on a shared server without giving access too all my repos 【发布时间】:2021-12-23 08:07:25 【问题描述】:

我的问题与Github add SSH key from others will grant access to all repos? 相同,除了我的用例是我正在与其他贡献者共享服务器上工作。我们都需要访问此服务器上的某个存储库。但是,由于 GitHub 现在需要 SSH,我如何在不将 SSH 密钥添加到服务器并允许其他人访问我的所有个人存储库的情况下克隆和使用存储库?

我已经将我的队友添加为我们要克隆的 repo 中的贡献者;如果我们每个人都可以单独使用我们的用户名和密码来与 repo 交互(就像克隆 git 存储库的旧 HTTPS 方法)而不必彼此共享我们的私钥,那就太好了。如果有一个选项只允许 SSH 访问特定的 repo,那也很好。

我现在能想到的唯一解决方法是创建一个虚拟 GitHub 帐户,其唯一目的是访问此存储库,并使用该 GitHub 帐户注册我们的 SSH 密钥。但这似乎很做作,我想知道是否有更好的解决方案。

【问题讨论】:

【参考方案1】:

只有有权访问一个 repo 的虚拟 github 帐户是 GitHub 所称的机器帐户,并且是在此类情况下提供访问权限的推荐方式。

或者,您可以使用部署令牌,默认情况下这些令牌绑定到单个存储库。

【讨论】:

谢谢!我使用了部署密钥并且有效。作为参考,我关注了docs.github.com/en/developers/overview/managing-deploy-keys和gist.github.com/zhujunsan/a0becf82ade50ed06115

以上是关于GitHub - 如何在共享服务器上克隆存储库而不授予我所有存储库的访问权限的主要内容,如果未能解决你的问题,请参考以下文章

合并两个 Git 存储库而不破坏文件历史记录

如何使用 fmt 库而不获取“架构 x86_64 的未定义符号”

查询访问存储库而不返回数据

如何像GitHub一样从Bitbucket服务器添加文件到repo上

我可以在 Spring Boot 中测试我的存储库而不实际将测试数据保存在数据库中吗?

使用 vs 代码从 github 克隆一个颤振项目