多个git账户和项目切换

部署运行你感兴趣的模型镜像

参考: http://net.tutsplus.com/tutorials/tools-and-tips/how-to-work-with-github-and-multiple-accounts/

 

一、最原始的切换方法。

gitlab和github项目切换时, github上多个项目账户不同时,都需要切换用户。

如下面的切换方法:

 

git config --global user.email [myEmail@email.com]
git config --global user.name [myname]

 

 

 

但是这个方法需要来回切换,实在是太麻烦。

 


二、每个项目设置单独的user.name 和 user.email

可以为每个项目设置非全局的user.name 和 user.email, 在命令行环境,进入Git项目所在目录,执行下面的命令:

$ git config user.name nickname#将用户名设为nickname
$ git config user.email nickname@gmail.com #将用户邮箱设为nickname@gmail.com

 这只是解决同一个网站(公用一个rsa密码)上多个用户的问题。如果不同项目有不同的托管库网站(如gitlab和github),还需要另外的设置。

 

三、不同的托管库设置不同的rsa密码

如果不同项目有不同的托管库和ssh,则可通过设置ssh key的config 文件来解决。

1. 在~/.ssh下用ssh-keygen 生成多个rsa文件。 -t后的参数为自定义文件名。 如:

 

ssh-keygen -t rsa_github
ssh-keygen -t rsa_gitlab

 

将生成的公钥保存到相关托管库

2、新建或修改 ~/.ssh/config

 

#config文件通过host区分不同的托管库
#Default GitHub
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/rsa_github


Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/rsa_gitlab

 

要设定每个项目的地址时,只要指定@的地址为相应的Host
如:
 
git remote add origin git@github.com:nickname/testing.git
git clone git@github.com:nick/testing.git
至此,系统就能自动选择对应的私钥文件。
 
1,2两个步骤结合,就能无需切换用户。再多的用户和再多的托管库,也可以以上面的方法慢慢扩展,一次配置无需切换。
 
 

 

 

 

您可能感兴趣的与本文相关的镜像

LobeChat

LobeChat

AI应用

LobeChat 是一个开源、高性能的聊天机器人框架。支持语音合成、多模态和可扩展插件系统。支持一键式免费部署私人ChatGPT/LLM 网络应用程序。

### 配置多个 Git 账户并实现自动切换的方法 在 IntelliJ IDEA 中配置多个 Git 账号并实现自动切换,主要依赖于 Git 的本地配置 SSH 密钥管理。以下是一种完整的实现方式: #### 1. 安装 Git 并在 IntelliJ IDEA 中配置 Git 可执行文件路径 确保系统中已经安装了 Git,并且 IntelliJ IDEA 已正确配置 Git 可执行文件路径。打开 **Settings (设置)**,进入 **Version Control → Git**,指定 Git 安装目录下的 `bin/git.exe` 文件路径。点击 **Test** 进行测试,如果弹出当前 Git 版本号对话框,则说明配置成功 [^3]。 #### 2. 生成多个 SSH 密钥对 为每个 Git 账号生成独立的 SSH 密钥对。例如: ```bash ssh-keygen -t rsa -C "账号1@example.com" -f ~/.ssh/id_rsa_account1 ssh-keygen -t rsa -C "账号2@example.com" -f ~/.ssh/id_rsa_account2 ``` 生成完成后,将对应的公钥(`.pub` 文件)分别添加到各个 Git 平台账户SSH 密钥管理页面。 #### 3. 配置 SSH Config 文件 编辑 `~/.ssh/config` 文件,定义不同 Host 对应的密钥: ```ssh # GitHub账号 Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_account1 # GitLab 工作账号 Host gitlab.com HostName gitlab.com User git IdentityFile ~/.ssh/id_rsa_account2 ``` 这样,当访问不同域名的 Git 服务时,SSH 会根据 Host 自动选择对应的密钥进行认证。 #### 4. 添加 SSH 密钥到 SSH Agent 将所有生成的私钥添加到 SSH Agent: ```bash ssh-add ~/.ssh/id_rsa_account1 ssh-add ~/.ssh/id_rsa_account2 ``` 在 Windows 上,可以使用 Git Bash 或 PowerShell 来执行这些命令;在 macOS Linux 上可以直接使用终端。 #### 5. 在 IntelliJ IDEA 中克隆或推送代码时自动使用对应账号 在 IntelliJ IDEA 中操作 Git 仓库时,只要远程地址是基于 SSH 的(如 `git@github.com:user/repo.git`),Git 会根据 `.ssh/config` 文件中的 Host 设置自动选择相应的账号密钥进行认证 [^1]。 #### 6. 项目级别的用户名邮箱配置 如果你对提交信息中的 `user.name` `user.email` 有特定要求,可以在项目根目录下执行以下命令进行本地配置: ```bash git config user.name "账号1名称" git config user.email "账号1邮箱@example.com" ``` 或者为另一个项目配置不同的账号信息: ```bash cd /path/to/another/project git config user.name "账号2名称" git config user.email "账号2邮箱@example.com" ``` 这种方式优先级高于全局配置,适用于不同项目使用不同身份提交代码的需求 [^4]。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值