【问题标题】:Is it possible to have two GitLab accounts configured one Linux VM? [closed]是否可以让两个 GitLab 帐户配置一个 Linux 虚拟机? [关闭]
【发布时间】:2021-02-04 12:07:01
【问题描述】:

我自己和一个合作伙伴需要配置对一个 Git 存储库的更改。

我们有一个只有一个通用服务帐户的 Linux VM 设置,并且希望将更改推送到存储库。

据我所知,您可以拥有两个 ssh 密钥,那么使用所需的 user.name 推送到存储库以查看用户进行更改的步骤是什么?

【问题讨论】:

  • 啊,不。 user.name 和 user.email 仅在您创建修订时使用,而不是在您推送时使用。如果您正在使用 ssh,您可以在推送之前决定使用什么证书与 ssh-add 一起决定将使用哪个用户推送到远程(稍后可以使用 ssh-add -d 删除它们,以便您可以选择另一个证书,如果你想......在同一个用户下)。这个 linux 盒子是你将托管一个公共 repo 的地方?你将在哪里工作?你自己的电脑,独立于linux服务器?或者你也会在同一个盒子上工作?
  • 哦,我明白了,你们都将在同一个 linux VM 上工作,在 gitlab 中有一个 repo 的项目,是这样吗?所以,还有几个问题:你在 linux 机器上使用单独的用户吗?如果答案是肯定的:那么你们每个人都可以在那个 linux 机器上设置单独的证书。如果答案是“否”,那么您需要在盒子上保留不同的证书,以便当您想要推送每个人时,可以添加自己的证书,以便能够使用正确的凭据来处理 gitlab 存储库。
  • 是的,目前我们有一个虚拟机用户,所以看起来我们需要不同的证书。感谢您的反馈!
  • @YusufMusaji 我已经编辑了您的问题以添加一些细节:您能否确认我的编辑充分反映了您的问题?

标签: linux git ssh gitlab virtual-machine


【解决方案1】:

更容易使用:

  • 远程存储库的 HTTPS URL
  • 一个 git 包装器,它将询问您的 GitLab 用户名并将其缓存在内存中,每个会话一次。
  • 一个凭证助手,它将缓存您的 GitLab 帐户密码,每个会话一次。
    您可以通过以下方式一劳永逸地设置它:
    git config --global credential.helper "cache --timeout=36000"

我写了VonC/gitw 来强制用户在第一个 git 命令中选择他们的用户名。任何后续的 git 命令都将使用相同的 user.name/user.email 来完成任何提交。

【讨论】:

  • 太棒了,我一定会看看你的回购,感激不尽
  • @YusufMusaji 是的,使用该选项,不需要不同的证书。
猜你喜欢
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
  • 2010-09-08
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多