如何简单快捷在电脑管理和切换不同Git账号,诸如GitHub,GitLab等
前期准备
安装git,完成后
Windows
系统通过git-bash
启动终端,Mac OS X
和Linux
直接打开终端即可。拥有至少两个GitHub账号,例如有两个账号:
master
和guest
。(下面内容均以GitHub账号为例)取消git全局设置
12git config --global --unset user.namegit config --global --unset user.email
SSH key配置
生成RSA公私秘钥
1ssh-keygen -t rsa -b 4096 -C "master_email@example.com"出现下列提示,可以输入秘钥的文件名(默认为
id_rsa
)1Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]例如
master
账号,可以输入id_rsa_master
出现下列提示,是否需要绑定密码,可以选择不输入,即直接
ENTER
12Enter passphrase (empty for no passphrase): [Type a passphrase]Enter same passphrase again: [Type passphrase again]完成后在
~/.ssh/
目录就会生成私钥id_rsa_master
和公钥id_rsa_master.pub
添加SSH key
1ssh-add ~/.ssh/id_rsa_master通过下面命令,查看SSH key的设置
1ssh-add -lguest
账号的配置同上,得到私钥id_rsa_guest
和公钥id_rsa_guest.pub
GitHub账号配置
登录
master
账号,在Settings -> SSH and GPG keys
里,点击New SSH key
在
"Title"
输入你要命名的名称,方便今后识别将公钥(
id_rsa_master.pub
)中的内容粘贴到"Key"
中,可以通过下面命令打印内容1cat ~/.ssh/id_rsa_master.pub点击
Add SSH key
按钮完成添加guest
账号的配置同上
SSH config配置
创建
config
文件12cd ~/.ssh/touch config打开该
config
文件,写入以下内容保存:1234567891011# master(default)Host github.comHostName github.comUser gitIdentityFile ~/.ssh/id_rsa_master# guestHost guest.github.com # 这个可以任意设置HostName github.comUser gitIdentityFile ~/.ssh/id_rsa_guest这里要说明下,今后相对应的SSH路径如下:
12345# master(default)git@guest.github.com:master/your_repo.git# guestgit@guest.github.com:guest/your_repo.git
SSH测试
测试
master
账号与GitHub的SSH连接1ssh -T git@github.com成功会得到下面提示信息:
12Hi <username>! You've successfully authenticated, but GitHub does notprovide shell access.如果成功,在GitHub的
Settings -> SSH and GPG keys
里,相应的SSH key
图标会变成绿色guest
账号的配置同上
Git项目配置
在Git项目中,例如
master
,命令行输入:12git config user.name "master"git config user.email "master"查看Git项目的配置
1git config --list修改
git remote
:12git remote rm origingit remote add origin git@github.com:master/your_repo.git如果是
guest
,修改git remote
:12git remote rm origingit remote add origin git@guest.github.com:guest/your_repo.git具体情况根据
~/.ssh/config
的配置内容调整相应URL完成后就可以愉快的
git pull
和git push
了