我已经使用 Gitosis 设置了我的 git 服务器。我需要在同一台机器上以不同的用户身份检出存储库。
假设有两台机器:
- 基于 Linux 的服务器(该服务器上的 repo 使用用户名“GIT”保存;另一个用户“Dev1”是开发人员之一)
- 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 工具,您可能会更容易地选择密钥。