根据加载的 SSH 密钥检出存储库

根据加载的 SSH 密钥检出存储库

我已经使用 Gitosis 设置了我的 git 服务器。我需要在同一台机器上以不同的用户身份检出存储库。

假设有两台机器:

  1. 基于 Linux 的服务器(该服务器上的 repo 使用用户名“GIT”保存;另一个用户“Dev1”是开发人员之一)
  2. Windows 计算机(用户名“tech_geek”)

我如何才能将存储库以“Dev1”的身份签出到 Windows 计算机,并以“tech_geek”的身份签出?这样,Windows 计算机上就会签出两个存储库。

答案1

1)克隆 Gitosis 管理员仓库:

$ git clone git@SERVER:gitosis-admin.git

2)将 Dev1 和 tech_geek 的 SSH 公钥添加到gitosis-admin/keydir(将每个公钥重命名为 id_rsa.pub)中开发者版本技术极客.pub. 添加到文件gitosis-admin/gitosis.conf

[group developers]
members = dev1 tech_geek
[group new_project]
writable = new_project
members = @developers


在哪里新项目是 repo 名称(不带 .git 后缀)
3)提交并推送

$ cd gitosis-admin
$ git add .
$ git commit -m "New devs and repo for new_project"
$ git push

4)尝试从 Windows 主机克隆 repo(以用户 Dev1 或 tech_geek 身份)

$ git clone git@SERVER:new_project.git

答案2

现在使用环境变量 GIT_SSH_COMMAND 。(GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa_example" git clone 示例)

看: https://superuser.com/questions/232373/how-to-tell-git-which-private-key-to-use

如果您使用其中一个 GUI 工具,您可能会更容易地选择密钥。

相关内容