关于 Git 同一终端多用户及 22 端口断连的配置
Git 多用户
笔者有多个 GitHub 账号,一个是放出来贴一些东西的,另一个才是自己平时使用的账号。但是在同一台计算机下操控两个账号总是会有些不方便,我们要特殊配置一下。
Global Config
如果以前为了方便设置了全部变量,如 user.name
, user.email
等。在使用两个账号的时候就需要取消掉这些配置:
查看设置了哪些全局变量:
git config --global --list
然后将其逐个清除:
git config --global --unset user.name git config --global --unset user.email ...
然后在单个文件夹下添加相应配置:
git config --local user.name "your_name" && git config --local user.email "your_email"
P.S. 其实不清除全局配置也是可以的,默认优先级是:local > global > system
,不用全局配置的 Package 记得设置一下 local 参数。
SSH 配对
之前生成过一个账号的 SSH 钥对,现在添加新的。
本地生成新的 SSH 密匙:
ssh-keygen -t rsa -C "your_email"
在接下来的配置中不要使用默认,不然可能将之前的覆盖掉,例如换成:
Enter file in which to save the key (/Users/user/.ssh/id_rsa): id_rsa_conpany
使用 Config 文件对这两个密匙分别对应:
cd {your ssh file} # eg.(for Mac) /Users/user/.ssh touch config # 新建 config 文件 vim config # 修改 config 配置
将 config 配置设置为类似:
# Personal Host personal HostName github.com User git IdentityFile ~/.ssh/id_rsa # Company Host company HostName github.com User git IdentityFile ~/.ssh/id_rsa_company
然后要重新配置以前使用 ssh 连接的包
git remote rm origin git remote add origin git@personal:xxx/xxx.git
之后尝试一下是否可以正常
git push
即可
22 端口连接超时
由于堪忧的国际出入口带宽性能,最近更新的时候发现本地一直连不上 GitHub ,显示:
ssh: connect to host github.com port 22: Operation timed out
这造成了许多麻烦,所以我这里记录一个解决方案。
修改 ssh 目录下的 config 文件,如果没有,就创建一个:
cd {your ssh file} # eg.(for Mac) /Users/user/.ssh touch config # 新建 config 文件 vim config # 修改 config 配置
默认 config 配置,如果你进行了上面 Git 多用户的修改,就只需要改
HostName
,Post
Host github.com HostName ssh.github.com User git IdentityFile ~/.ssh/id_rsa Port 443
保存应用即可。
关于 Git 同一终端多用户及 22 端口断连的配置
本文作者
ChrAlpha
发布日期
2020-01-20
更新日期
2020-01-20
转载或引用本文时请遵守 CC BY-NC-SA 4.0 许可协议,注明出处、不得用于商业用途!