gpt4 book ai didi

git - github SSH 是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 13:48:06 24 4
gpt4 key购买 nike

我很好奇使用 git 克隆项目。为了克隆我们正在调用的项目:

git clone git@github.com:MY_GIT_USERNAME/PROJECT.git

所以我们在这里所做的,是以用户 git 的身份访问 github.com。我想当有一个 MY_GIT_USERNAME/PROJECT 是某种目录,它添加了一些访问和 key ,然后通过存储库验证到真正的 github 服务器,所以我们通过 git clone 访问的目录是某种代理一,仅用于验证和授权请求,对吗?

github 是否使用某种工具来存储所有 ssh key ?有没有这样的工具?

另外,如果 git clone 不能像这个一样工作,它是如何工作的? which 与典型的 ssh 命令相似是如何工作的?

最佳答案

Git 使用 SSH 建立安全连接,通过它可以执行命令。你在你的 ssh 用户名中传递它,git ,以及要连接的主机,github.com .到目前为止,这是正常的 SSH。

您还可以将路径传递给它以查找您的 Git 存储库,MY_GIT_USERNAME/PROJECT.git .对于普通的 Git,这将是一条文字路径。

为了避免必须为每个 Github 用户创建一个 ssh 用户,Github 忽略了 git用户并使用链接到您的帐户的私有(private) ssh key 来识别您。这是进行 ssh 身份验证的常见方式。

一个简单的实现会将所有存储库存储在文件系统上,如 /git/MY_GIT_USERNAME/PROJECT.git/ ,但是 Github 已经很久很久没有像这样的简单解决方案了。

我不知道 Github 内部是如何工作的,但他们肯定在多个存储库之间共享对象。例如,如果多个存储库提交相同的内容,它很可能只会存储一次。同样,在 Github 上 fork 一个存储库可能实际上并不会复制整个存储库,而是有一个共享存储库。由于 Git 存储库已经基于校验和,这相对容易;虽然在 Github 的规模上,我确信它不是。

要了解更多信息,请阅读 Git Internals .特别Git ObjectsTransfer Protocols .

关于git - github SSH 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61876163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com