Fate

一台电脑管理多个代码仓库出现的问题

Alt text

千辛万苦,利用 Github+Hexo 做出了自己的页面,还是有点成就感的,由于是先给别人做了一个之后才做自己的主页,然后我的电脑一些错误,我选其中我被坑得最惨的一个来说说.
我被坑得最惨的一个错误是当我执行:
hexo g -d
电脑总是会报出

1
2
remote: Permission to XXX denied to XXX.fatal: unable to access 'XXX': The requested URL
returned error: 403

解决方案:

使用ssh方式链接到github,我们需要一对私钥/公钥,那么管理不同账号的代码仓库,我们就需要多对私钥/公钥了.

  • 首先,为每一个账号生成公钥

    1
    2
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_1 -C "xxx@xxx.com"
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_2 -C "xxx@xxx.com"
  • 生成好后在.ssh文件夹下新建config文件并编辑,另不同Host实际映射到同一
    HostName,但密钥文件不同.Host前缀可自定义,例子中ieit

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # default
    Host github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_1
    # two
    Host ieit.github.com
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_2
  • 将生成的id_rsa_1.pub,id_rsa_2.pub内容copy到对应的repo

  • 然后通过以下方式验证是否成功

    1
    2
    ssh -T git@ieit.github.com
    ssh -T git@github.com

    以上参考自:@一台电脑绑定两个github帐号教程

  • 到这步为止,网上都有,但是我电脑还是报相同的错误,折腾了我一上午,然后我尝试了很多方法,最后成功了.最后我修改了项目文件下_config.yml中的

    1
    2
    3
    4
    deploy:
    type: git
    repo: https://github.com/yoghurt-lee/yoghurt-lee.github.io.git
    branch: master

    修改为

    1
    2
    3
    4
    deploy:
    type: git
    repo: git@github.com:yoghurt-lee/yoghurt-lee.github.io.git
    branch: master

    然后就deploy上去了.

    如果本教程对你有用,不妨留个脚步.

热评文章