Git 爬坑开篇-建立远程仓库: 建立远程仓库的核心在于建立本地与 git 服务器的 ssh 连接,我们通过 git init 初始化本地仓库后,需要将本地生成的 rsa 秘钥粘贴到 github 账户底下来确保一致性,稍有不慎,Permission denied 的悲剧将会重演。

1. 建立远程 git 仓库

假设我们需要将本地的代码库 MoConfig 建立为一个远程仓库。
首先,我们在 github 网站上创建同名的 MoConfig 仓库,(这一点很重要,不然执行 push 命令时会提示“仓库不存在”的报错。)并将本地代码提交到远端。

然后,我们需要将本地的已有的代码库转换为 git 仓库 init,与远程仓库建立连接 remote add,提交到本地 addcommit

>> git init
>> git remote add origin git@github.com:{$user_name}/MoConfig.git
>> git add .
>> git commit -m "initialize the repository"
>> git push -u origin master

正常情况下,你的本地代码库会多出一个 .git/ 文件夹,如下所示。

2. 与远程仓库建立连接失败:Permission denied

然而非常不幸地,你在创建仓库的过程中出现了 Permission dened 报错,这表明你与远程仓库的连接出现了问题。
出现这个错误的原因在于本地机器没有与 git 服务器建立 ssh 连接互信,解决办法就是在本地生成 rsa 密钥,并将此密钥复制到 github 账户下。 解决方案见 STEP-1 和 STEP-2。

Warning: Permanently added the RSA host key for IP address '13.250.177.XXX' to the list of known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
STEP-1: 生成本地 rsa 密钥,该密钥会默认保存在 /d/Users/LEE/.ssh/ 下。
>> ssh-keygen -t rsa -C "{regester_email}"

以下是命令的输出,首先设置密钥的保存地址。

Generating public/private rsa key pair.
Enter file in which to save the key (/d/Users/LEE/.ssh/id_rsa):

如果你本身有 rsa 密钥,系统会询问你是否覆盖原密钥。

/d/Users/LEE/.ssh/id_rsa already exists.
Overwrite (y/n)?

设置访问密钥的密码,直接回车表示不设置。

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

看到如下输出表示最终密钥生成完毕,此时会有一封来自 github 的神秘邮件寄到你的注册邮箱。

Your identification has been saved in /d/Users/LEE/.ssh/id_rsa.
Your public key has been saved in /d/Users/LEE/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:mr+HhpTDqdoEERASioEZBoc/6jDu39ZVahPhgZwKKj0 xxx@163.com
The key's randomart image is:
+---[RSA 2048]----+
|@Oo   . o        |
|Oo o   + o       |
|ooo . . . o      |
|..E. .   o .     |
|...o . oS +      |
|+  .  *o =       |
|+.  .o+oo..      |
| o oo..oo .      |
|..ooo. .oo       |
+----[SHA256]-----+

STEP-2: 将本地 rsa 密钥粘贴到 github 账户下。

我们在相关地址下找到 id_rsa.pub 文件,并将其中的内容粘贴到 github 账户下

// id_rsa.pub 的部分内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA
BAQCrshsFvxn/Og5uwQ7HaoD6ph4
...
xxx@163.com

最后,我们输入命令,测试一下是否连接成功。

>> ssh -T git@github.com

以下为正确的输出结果,表示本机与 git 服务器连接成功。

Hi Gu-Youngfeng! You've successfully authenticated,
but GitHub does not provide shell access.

Git 爬坑 - 建立远程仓库相关推荐

  1. 【Eclipse中使用Git之一】把远程仓库的项目,clone到eclipse里面

    [Eclipse中使用Git之一]把远程仓库的项目,clone到eclipse里面 2015-01-29 19:25 15779人阅读 评论(1) 收藏 举报 分类: Git(35) 作者同类文章X ...

  2. Git的使用——Git 常用命令总结、Git的使用、Git 的分支、远程仓库的使用、IDEA 中使用Git、Git 工作流(Git Flow、Github Flow、GitLab Flow)

    Git的使用--Git 常用命令总结.Git的使用.Git 的分支.远程仓库的使用.IDEA 中使用Git 一.Git 常用命令总结 为了方便后续查找命令,故先把总结放前面,教程放后面 1.git 基 ...

  3. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  4. git修改本地和远程仓库名称的解决方法

    git修改本地和远程仓库名称的解决方法 参考文章: (1)git修改本地和远程仓库名称的解决方法 (2)https://www.cnblogs.com/zlting/p/9620259.html 备忘 ...

  5. 【Git入门之六】远程仓库

    2019独角兽企业重金招聘Python工程师标准>>> 远程仓库是用来把Git仓库托管到互联网,本地网络或者本机中. 本文主要介绍在本机中创建远程仓库(Remote reposito ...

  6. git操作:将远程仓库(主库)更新到本地,并同步到fork的个人库

    适用场景:在不能直接push或者pull主库(远程仓库)的情况下(如公司的代码库不能随意操作),需要先fork到自己的个人仓库,然后再git clone到本地. 此时需要将主库的修改更新到本地,再将自 ...

  7. 如何通过git提交代码到远程仓库

    ** 如何通过git提交代码到远程仓库(github) ** 进入项目文件夹,右击鼠标键->Git Basd Here 1.初始化本地仓库 git init 2.将所有文件添加到本地仓库(也可添 ...

  8. git本地项目关联远程仓库

    git本地项目关联远程仓库 背景 实际开发中,偶尔会遇到从零开始开发一个项目的情况,常常是先在本地开发,再推送到远程仓库,记录一下从创建本地仓库开始,到推送远程仓库的过程 流程概述 远程创建项目,这一 ...

  9. 使用git建立远程仓库,让别人git clone下来

    首先, 如果你的ssh没有安装的话,要安装ssh服务端.ubuntu是很简单 sudo apt-get install openssh-server 1 , 建立你的 git  目录. ourunix ...

最新文章

  1. 如何从头开始构建自己的Linux Dotfiles Manager
  2. iOS - Tools Using's Problem
  3. 全球与中国Z型斗式提升机市场运营战略分析及未来趋势创新建议报告2022-2027年版
  4. 谷歌吃苹果:新系统让Macbook秒变Chromebook
  5. 会导致所有者权益减少的项目是_第二章:会计要素的确认(11)所有者权益
  6. C# 9.0中引入的新特性init和record的使用思考
  7. 【最短路】【图论】【Floyed】牛的旅行(ssl 1119/luogu 1522)
  8. c语言程序中return的作用,单片机C语言程序中return dat 什么意思
  9. a href=javascript:void(0)
  10. go get如何删除_Go语言HTTP请求(req库)
  11. 设计FMEA步骤四:失效分析
  12. 马哥Linux命令大全
  13. vue 利用科大讯飞实现实时语音转写
  14. java 核心API day05 File类
  15. java与python两个小人动图_CSS Sprite小图片自动合并工具(NodeJS,Python,Java,Ruby)
  16. 如何快速删除 Word 文档中的分页符
  17. MaxPab兔源多克隆抗体(D01)的功能和应用类型
  18. windows xp 安装好openssh后,不能正常启动,/var/empty must be owned by root and not group or world-writable
  19. 这个世界上有三种几何学
  20. 虚拟机与MySQL的安装及配置

热门文章

  1. NOTA-PEG-Lys/CS/HRP/MMPs大环配体-聚乙二醇-溶菌酶/硫酸软骨素/辣根过氧化氢酶/基质金属蛋白酶
  2. 云服务器部署斗地主(docker容器部署,上手容易)
  3. 深度置信网 DBNs
  4. 星起航:抖音正在快速分割传统电商平台的市场份额
  5. 阿里开源java诊端工具arthas官网介绍
  6. Telephone dialer
  7. 我的10年计算机之路
  8. 中文垂直搜索引擎、行业搜索引擎大全(最新计137家) (转贴)
  9. Circle seal 532B-1M-1有一种幸福叫微笑
  10. java在图片上写字