zoukankan      html  css  js  c++  java
  • 关于一台电脑使用多个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常见操作和报错处理办法

    想把自己留给生活 想把生活留给你
  • 相关阅读:
    Java 第十一届 蓝桥杯 省模拟赛 洁净数
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    Java 第十一届 蓝桥杯 省模拟赛 70044与113148的最大公约数
    20. Valid Parentheses
    290. Word Pattern
    205. Isomorphic Strings
    71. Simplify Path
  • 原文地址:https://www.cnblogs.com/auto-ajax/p/14215911.html
Copyright © 2011-2022 走看看