其实有两种方法,第一种比较简单粗暴但是有效,第二种需要配置各种比较麻烦,但是一劳永逸。
方案一
对于 windows 系统, 选择控制面板 =》 用户账户 =》凭据管理器 =》windows 凭据,删除里面类似 git 相关的的用户信息(以 git 打头的相关数据)。 这样你在敲 git push 就会弹出对话框让你重新输入用户名和密码。 输入你要更改的用户名和密码就可以了。
方案二
注册 Github 账号
首先肯定得需要多个 Github 账号,这里用两个作为示范
生成新 ssh key
打开 git bash,输入~/.ssh进入到.ssh 文件夹
1 | ~/.ssh |
在.ssh 目录下,可以将原有的 id_rsa 和 id_rsa.pub 删掉,然后输入ssh-keygen -t rsa -C "你的第一个github邮箱地址"
1 | ssh-keygen -t rsa -C [email protected] |
然后输入并回车(这个是私钥的名称,可以随意取),这里我就用 github 的用户名:id_rsa_xiansakana
1 | id_rsa_xiansakana |
之后输入密码和再一次确认密码可以为空,回车。
然后在.ssh 目录下会出现私钥 id_rsd_xiansakana 和公钥 id_rsa_xiansakana.pub。
打开公钥 id_rsa_xiansakana.pub,将内容 copy 到第一个 github 的 SSH keys 中。
同理,配置第二个 github 邮箱地址,并将公钥 id_rsa_saltedfishcj.pub 的内容 copy 到第二个 github 的 SSH keys 中
1 | ssh-keygen -t rsa -C [email protected] |
添加 ssh key
默认 SSH 只会读取id_rsa,所以为了让 SSH 识别新的私钥,需要将其添加到SSH agent。
如果报错:Could not open a connection to your authentication agent.无法连接到 ssh agent,可执行ssh-agent命令后再执行ssh-add ~/.ssh/id_rsa_xiansakana命令。
1 | ssh-agent bash |
配置 config 文件
然后在.ssh 目录下,新建一个 config 文件(如果无),命令:touch config,再对 config 文件进行编辑
1 | touch config |
1 | #Default 第一个账号([email protected]) |
其中 Host 后的名字可以随意方便自己记忆,但 HostName 必须为 github.com(或者其它 git 地址)。
测试配置
使用命令:ssh -T git@xiansakana,
1 | ssh -T git@xiansakana |
如果看到下面的命令表示配置成功了。
1 | Hi xiansakana! You've successfully authenticated, but GitHub does not provide shell access. |
同理
1 | ssh -T git@saltedfishcj |
查看当前用户
1 | ssh -T [email protected] |
查看当前密钥
1 | ssh-add -l |
切换账号
1 | git config --global user.name "name" |
不过通常应该是可以用上面添加 ssh key 的方法来切换
1 | ssh-agent bash |
查看配置
1 | git config --global --list |