如何在一台开发机器上拥有多个git帐户?

时间:2018-05-15 15:49:55

标签: git github gitlab multi-user

我正在尝试在一台开发机器上同时处理多个(两个或三个)GitLab(甚至是GitHub)项目。因为在配置时,当我尝试使用不同的用户名/密码签出或克隆另一个项目时,IDE和git服务具有我的主要用户的数据,系统会说找不到项目,或者我没有权限这样做。 / p>

如何在单个开发计算机上配置和使用多个git用户?

5 个答案:

答案 0 :(得分:1)

默认情况下,git使用系统范围的配置文件或存储在主目录顶部的配置文件。

但您也可以通过手动编辑或使用.git/config在每个存储库中设置文件git config。在里面,您可以指定以下部分:

[user]
    name = Your name
    email = yourownemail@yourprovider.com

…

[credential "<your_project_hoster_url>"]
    username = <username to log in with>

您可以查看git config一般或git credentials,了解更多相关信息。

答案 1 :(得分:1)

您可以使用。

将凭据存储在每个项目中
git config credential.helper store
git push origin HEAD
write user and password

转到项目文件夹并输入git命令。

答案 2 :(得分:0)

您可以为每个存储库配置用户详细信息。

git config user.name 'Your Name'
git config user.email 'name@example.com'

GitHub可以配置为识别分配给电子邮件地址的几个ssh密钥,并在需要时将电子邮件发送到相应的密码。

答案 3 :(得分:0)

如果您更喜欢 https 而不是 SSH 密钥解决方案,以下内容至少适用于 Github(以及使用凭证管理器与 TortoiseGit 连接):

  1. 在您的本地存储库中(或在克隆时),将远程(源)url 设置为
https://[yourusername]@github.com/[org]/[repo].git

(此处的重要部分是 yourusername@github.com,因为它会在 Windows 凭据存储中创建一个 git:https://yourusername@github.com 条目,该条目不同于包含所有“常规”远程网址的凭据)

如果您想通过 git:https://github.com 文件为现有存储库编辑它,这类似于

repo/.git/config
  1. 此外,在 [remote "origin"] url = https://[yourusername]@github.com/[org]/[repo].git fetch = +refs/heads/*:refs/remotes/origin/* 文件中设置 credentialuser 属性,以便您的提交具有正确的作者:
repo/.git/config

在您的 git 远程操作(获取、推送等)中,您将被要求进行身份验证,具体取决于您的身份验证管理器。

答案 4 :(得分:0)

Git 多用户配置管理器 gum

安装

$ npm i -g @gauseen/gum

示例

$ gum list

Currently used name=gauseen email=gauseen@gmail.com
┌────────────┬─────────┬─────────────────────────┐
│ group-name │    name │                   email │
├────────────┼─────────┼─────────────────────────┤
│    global  │ gauseen │ gauseen@gmail.com       │
│    user1   │ li si   │ lisi@gmail.com          │
│    user2   │ wang er │ wanger@gmail.com        │
└────────────┴─────────┴─────────────────────────┘
$ gum use user1

Currently used name=li si email=lisi@gmail.com