@参考原文


记录这个操作是因为需要将一些代码放出去到公共仓库上以便使用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:\Users\username\.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常见操作和报错处理办法

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

  1. 同一台电脑上个人的github账户如何与公司的gitlab账户共存

    前些天,写了篇博客 开发环境之git:团队协作git工作流与常用命令. 主要是回顾其中的第一小节基本配置. 但是对于很多程序员而言,我们不仅有公司的gitlab账户做公司的业务,也会有自己个人的git ...

  2. 201709012工作日记--一台电脑创建两个Github账户上传代码

    1. 在一台主机上面使用多个GitHub账号 有时候,我们需要将个人账号和公司账号区分,这时候我们就会需要在一台电脑上使用2个不同的git账号. 2. 上传文件 http://blog.csdn.ne ...

  3. 同一台电脑使用 gitlab 和 github 配置

    Git 客户端与服务器端的通信支持多种协议,ssh 最常用.ssh的公钥登录流程,用户将自己的公钥存储在远程主机,登录时,远程主机会向用户发送一条消息,用户用自己的私钥加密后,再发给服务器.远程主机用 ...

  4. 同一台电脑关于多个SSH KEY管理

    运用shh -T -v git@github.com查看具体出错信息,再根据信息来调试    原文链接: http://yijiebuyi.com/blog/f18d38eb7cfee860c117d ...

  5. 一台电脑存放多个git账户的多个rsa秘钥

    未命名.html div.oembedall-githubrepos{border:1px solid #DDD;border-radius:4px;list-style-type:none;marg ...

  6. 一台电脑存放多个git账户的多个rsa秘钥(转)

    如何在一个电脑上存储多个git账户生成的多份rsa秘钥,实现多个账户同时使用配置的情况?今天,不幸又再次遇到这个问题. 问题描述 公司最近在开发一款开源产品,项目被托管在github上,但是公司内部一 ...

  7. intellij idea与github整合管理代码

    各位看官大家好,博主每每在公司学习新知识写代码时都需要通过U盘带回家来继续每天的学习,觉得这样实在麻烦,于是今天就整合了一下github来完成代码的管理. 开始之前我们需要准备三样东西:1.intel ...

  8. composer配合github发布管理代码包

    前言 今日使用composer结合github管理代码包过程,方便日后需要,特此记录 流程 1 最大同性交友网站github创建自己项目,在自己项目新增composer.json文件 2 compos ...

  9. 新电脑配置 git 同步github账户

    1.下载安装git 2.初始化 仓库文件夹 git init 3.生成公钥ssh-keygen -t rsa -C "youremail@example.com"4.github ...

随机推荐

  1. IDEA2020.2.4最新激活教程,有效期到2089

    前言 昨天又有好多粉丝反馈Idea失效过期,也有群里的小伙伴私聊问我,最新的Idea2020.2.4 版本要如何激活? 于是自己在网上搜罗了各种注册码.激活码,均以失败告终,有的虽然当时成功了,当时很 ...

  2. python核心高级学习总结7---------正则表达式

    正则表达式在爬虫项目中应用很广泛,主要方面就是在字符串处理方面,经常会涉及到字符串格式的校验,用起来经常要查看文档才能完成,所以抽了个时间将正则的内容复习了一下. Start re---导入re模块使 ...

  3. 面试阿里,字节,腾讯90%被问到的springboot常见面试题,这次给你讲的明明白白!

    1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂.只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有 ...

  4. Shiro remeberMe反序列化漏洞复现(Shiro-550)

    Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性.在Apache Shiro编号为550的 issu ...

  5. BJOI2015 隐身术

    落谷. Description 给你两个串 \(A.B\).询问 \(B\) 中有多少个非空子串和 \(A\) 的编辑距离不超过 \(K\). Solution 发现 \(K \le 5\),考虑可以 ...

  6. 题解 CF1428F Fruit Sequences

    \(\texttt{Bullshit}\) 蒟蒻 \(\texttt{7 min}\) 切 \(\texttt{F}\), 挽回了本一定掉分的局面/cy 分竟然还没有别人 5 题高 (本题解为目前 c ...

  7. STL——容器(Set & multiset)的概念和特点

    1. Set 和 multiset 的概念 set 和 multiset 是一个集合容器,其中 set 所包含的元素是唯一的,集合中的元素按一定的顺序排列.set 采用红黑树变体的数据结构实现,红黑树 ...

  8. 6个JS特效教程,学完即精通

    6个JS特效教程,学完即精通 JavaScript特效教程,学完你就能写任何特效.本课程将JavaScript.BOM.DOM.jQuery和Ajax课程中的各种网页特效提取出了再进行汇总.内容涵盖了 ...

  9. 下载hotspot源码

    http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/tags 比如jdk8u262-ga ,最右边可以找到它的id,就是1c6e1f187fdc,下载地址: ...

  10. Unity 游戏的暂停,继续,重开,退出

    1.暂停游戏.   Time.timeScale = 0;   2.继续游戏.   Time.timeScale = 1;   Time.timeScale = 0可以暂停游戏,Time.timeSc ...