• 关于一台电脑使用多个GitHub账户管理代码的记录


    @参考原文


    记录这个操作是因为需要将一些代码放出去到公共仓库上以便使用github pages线上预览页面的功能,但是碰到了一个很狗血的问题,虽然最后莫名其妙的解决了,但还是不知缘由,希望能在评论区得到解答

    整体操作如下

    一、github账号的准备工作

    1、确认ssh.key

    首先确认自己系统内有没有 ssh key
    随便找个地方打开git命令窗口,依次输入以下指令,查看本机ssh.key情况:

    cd ~/.ssh
    ls *.pub 
    

    如果是第一次使用,应该是没有的,如果不是,也没有修改过密匙名称,会有一个id_rsa.pub。
    如果有多个ssh.key文件且有空余未使用的,那就直接跳过生成新的ssh.key文件这一步。

    2、生成新的ssh.key

    由于我需要登录两个帐号,所以在已经存在的 key 的基础上,再生成一个 key:

    ssh-keygen -t rsa -C "新的github注册邮箱"
    

    -t 是使用的算法,一般都选择 rsa -C 为备注,一般以邮箱作为备注,提示保存文件时以 id_rsa_github 保存,其中github字段是自定义的,主要用于区分第一个密钥id_rsa

    使用ls *命令查看所有存在的文件,它们存放的路径是C:Usersusername.ssh,下面是我电脑现在有的密匙及相关文件

    其中以 .pub 结尾的为公钥文件,用于填写在GitHub网站,同名不带 .pub 后缀的为私钥文件,自己保存不要泄漏,known_hosts 文件为已知 host 缓存,目的是加快 ssh 访问速度。

    3、为新的github账户添加ssh.key

    登录 GitHub 在账户Settings > SSH and GPG keys > New SSH key > Add key将生成的 ssh key 的 .pub 文件中的内容粘贴进去。在复制时,由于直接用记事本打开.pub文件或者其他方式打开复制,可能会报错,所以我选择的是使用指令复制:

    clip < ~/.ssh/id_rsa_github
    

    id_rsa_github是你新建的ssh.key文件的.pub文件名


    二、代码托管

    1、在我切换仓库时,我用的办法直接粗暴:直接删除需要上传文件夹的.git文件夹,需要说明的是这个文件夹是个隐藏文件夹,需要打开显示隐藏文件夹选项。

    2、然后开始进行git代码托管的常规操作

    git init 
    git remote -v
    git remote add origin github仓库地址
    git add ./
    git commit -m"注释内容"
    git checkout -b 新建分支名
    git push origin 自定义分支名
    

    说明:git init初始化,git remote -v查看远端仓库连接情况,git remote add origin github仓库地址添加远程仓库,或者更改仓库git remote set-url origin github仓库地址,(中间省略,自行百度即可),说明一下我创建分支是使用的git checkout -b 分支名命令,是因为我觉得这样更方便快捷,创建新分支并进入,也可以选择先使用git branch 分支名创建新分支,再使用git checkout 分支名切换分支。

    我的操作如下:

    然后重点来了!

    push提交的时候报错了!!忘了截图,大概和下面这个相似

    ERROR: Permission to hbxn740150254/BestoneGitHub.git denied to Chenzuohehe. 
    fatal: Could not read from remote repository.Please make sure you have the correct access rights and the repository exists.
    

    我查看了很多大哥的解决办法,都不行,怎么办?!
    在经历了痛苦的几个小时漫长摸索之后,突然想改一下git仓库地址类型,就是在连接远程仓库时的那个地址类型,一般git仓库的连接地址类型有两种,一种是ssh模式,用git@github.com:开头的,一种是https模式,用https://github.com/开头的,我之前一直用的ssh的地址,在一直提交不上去的时候,我试着换成了https模式的地址,卧槽!就提交上了!!!

    是的,很迷惑,之前是可以使用ssh模式的地址的,但是这次不行,虽然最后问题是解决了,但是原因未知。

    另外,在提交的时候,应该会需要输入几次github登录账户和密码,以及git账户名等。


    虽然不明所以,但是还是做好记录。一是为遇到同样问题的朋友们提供一点思路,二是避免再次碰到二次懵逼。

    附上大佬总结的@github常见操作和报错处理办法

    想把自己留给生活 想把生活留给你
  • 相关阅读:
    2018级软件秋季总结
    对我影响最大的三位老师
    自我介绍
    Js中的一个日期处理格式化函数
    SQL update语句加减乘除运算
    用css让一个容器水平垂直
    position:absolute 的深入探讨
    java正则表达式
    Session
    使用Cookie进行会话管理
  • 原文地址:https://www.cnblogs.com/auto-ajax/p/14215911.html
Copyright © 2020-2023  润新知