同一客户端下使用多个git账号
1. 生成新的 SSH keys
在用户主目录下(cd ~
然后pwd
,即可看到用户主目录路径)的.ssh目录中打开git bash
ssh-keygen -t rsa -C "ggbondd@aliyun.com"
ssh-keygen -t rsa -C "2376940495@qq.com"
在生成第一组 id_rsa 和 id_rsa.pub_ 可以选用默认的文件名,在出现提示输入文件名的时候要输入一个不同的文件名,比如:这里填的是 id_rsa_new
Enter file in which to save the key (~/.ssh/id_rsa): id_rsa_new
2. 将公钥添加到GitHub的 SSH 设置中
3. 配置 ~/.ssh/config 文件
通过以上步骤,公钥、密钥分别被添加到 git 服务器和本地了。下面我们需要在本地创建一个密钥配置文件,通过该文件,实现根据仓库的 remote 链接地址自动选择合适的私钥。
# 该文件用于配置私钥对应的服务器
Host ggbond6 # 别名,随便定 后面配置地址有用
HostName ssh.github.com
User git
IdentityFile ~/.ssh/id_rsa_ggbond6
# 该文件用于配置私钥对应的服务器
Host ggbondd # 别名,随便定 后面配置地址有用
HostName ssh.github.com
User git
IdentityFile ~/.ssh/id_rsa_ggbondd
4. 测试一下
ssh -T git@ggbond6
SSH -T git@ggbondd
# 成功返回
Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access.
5. 本地仓库的用户配置
git 的配置分为三级别,System —> Global —>Local。System 即系统级别,Global 为配置的全局,Local 为仓库级别,优先级是 Local > Global > System。
查看配置
git config --local -l
git config --global -l
git config --system -l
清除 Git 的全局设置
git config --global --unset user.name
git config --global --unset user.email
因此我们需要为每个仓库单独配置用户名信息,假设我们要配置 github 的某个仓库,进入该仓库后,执行:
git config --local user.name "ggbondd"
git config --local user.email "ggbondd@aliyun.com"
执行完毕后,通过以下命令查看本仓库的所有配置信息:
git config --local -l
至此你已经配置好了 Local 级别的配置了,此时提交该仓库的代码,提交用户名就是你设置的 Local 级别的用户名了
6. 绑定远程库
需要将github.com修改成ggbondd(配置文件中的Host)
git remote add fp git@ggbondd:ggbondd/fucking-physical.git
git branch -M main
git push -u fp main
git remote add origin git@ggbond6:GGBond6/typora.git
git branch -M main
git push -u origin main