同一机器配置多个GitHub账号
在同一机器上对不同repo使用不同的github账号是个常见需求。举个例子,repo1
托管在github账号x1
下,而repo2
托管在账号x2
下,如何方便地在同一机器上使用不同账号自动git push
到对应的远端?比较直接的做法是在不同repo目录下使用git config
配置用户名,但这样有两个问题:
- 每个repo都要配置一遍比较繁琐
- 有些情况下无法配置。比如使用 hexo-deployer-git
部署Hexo网站时,
.deploy_git
目录是动态生成的,而所用的git账户和远端url修改不便。
于是,我们可以借用SSH
config文件来把不同github账号与repo联系起来。在SSH
config中定义多个不同的host项即可,然后在访问github时,使用一个虚拟host作为别名代替真正的主机名github.com
即可。