我正在尝试了解 git repo 本身在没有服务器托管的情况下能够做什么。我的目标是在我们的网络驱动器上的某个地方建立一个裸 git repo,人们可以将其拉取和推送到那里。
我可以创建一个裸 git 仓库,克隆它,提交并推送到它。使用时git config user.name
我甚至可以看到谁做了哪些提交。这几乎是理想的。
我想知道的是,如果只有一个简单的裸 git repo,我是否可以以某种方式确保特定的人确实做出了提交,因为git config user.name
提交者可以随时更改。
我猜想当不使用实际服务器时,基于帐户的身份验证是不值得考虑的。我认为可能的做法是以某种方式在存储库本身上为应该有权访问特定分支的人设置允许的 ssh 公钥,理想情况下甚至可以将密钥链接到特定的user.name
。然后,git 命令本身将验证推送用户是否拥有在存储库中有其相应公共部分的私钥。
这是可能的吗?或者这是实际服务器需要运行的点吗?PGP 怎么样?