我正在尝试在一台开发机器上同时处理多个(两个或三个)GitLab(甚至是GitHub)项目。因为在配置时,当我尝试使用不同的用户名/密码签出或克隆另一个项目时,IDE和git服务具有我的主要用户的数据,系统会说找不到项目,或者我没有权限这样做。 / p>
如何在单个开发计算机上配置和使用多个git用户?
答案 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 连接):
https://[yourusername]@github.com/[org]/[repo].git
(此处的重要部分是 yourusername@github.com,因为它会在 Windows 凭据存储中创建一个 git:https://yourusername@github.com
条目,该条目不同于包含所有“常规”远程网址的凭据)
如果您想通过 git:https://github.com
文件为现有存储库编辑它,这类似于
repo/.git/config
[remote "origin"]
url = https://[yourusername]@github.com/[org]/[repo].git
fetch = +refs/heads/*:refs/remotes/origin/*
文件中设置 credential
和 user
属性,以便您的提交具有正确的作者:repo/.git/config
在您的 git 远程操作(获取、推送等)中,您将被要求进行身份验证,具体取决于您的身份验证管理器。
答案 4 :(得分:0)
$ 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