git多账户本人解决方案 - aierlma/git_instructions GitHub Wiki
请看~/.ssh/config文件,如果创立了多账户,应该如下所示
Host aierlma
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Host school
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_school
其中Host就是个配置名,而HostName才是重要的连接的名字。连接GitHub的话User 统一写git。 使用时如下,后面是GitHub提供的ssh下载。
git clone aierlma:aierlma/wheel.git
就会使用ssh连接,并且使用名称叫aierlma的配置。
ssh -T aierlma
可以用以上行来测试 输出如下
PS C:\Users\aierlma\.ssh> ssh -T aierlma
Hi aierlma! You've successfully authenticated, but GitHub does not provide shell access.
现在考虑一个常见的场景,你在本地新建了一个git仓库(事先通过git init建立了),现在要把它放在GitHub上。 首先在GitHub上建立一个空仓库。GitHub会给你一些提示。如
git remote add origin [email protected]:username/repo.git
git push -u origin master
这可能会失败 别急,因为你用的是多账户,所以可能会遇到ssh使用的账户和远程不匹配的问题。例如,你想要使用school的配置。因此这样设置一下。
检查和更新远程仓库地址
你可以通过以下命令检查当前的远程仓库配置:
git remote -v
如果输出显示的是像 [email protected]:username/repo.git 这样的地址,你需要将其更改为使用你的 SSH 配置文件中定义的别名。例如,如果你想使用 school 的配置,你应该修改为:
git remote set-url origin school:username/repo.git
这里的 username/repo.git 应该替换为你的 GitHub 仓库路径。 接下来就可以传输了!