今天是Git系列课程第二课,上一课我们已经学会在本地创建一个空仓库,痞子衡今天要讲的是如何将本地仓库与远程建立联系。

1.将本地仓库挂上远程git remote

  本地建好了仓库,我们希望能够挂到远程服务器上,方便与其他人共享。目前最流行的远程Git服务器当然是github,此时你需要在github上注册账户并在线创建一个仓库,此处我们输入仓库名为gittest



  点击"Create repository"之后便弹出如下画面,最重要的是我们可以得到一个远程仓库的地址:git@github.com:JayHeng/gittest.git。



  有了远程仓库地址,我们便可以开始将本地仓库与远程仓库建立联系:

// 与远程建立连接之前需要保证本地仓库为非空,即至少需要一次本地提交

jay@pc MINGW64 /d/my_project/gittest (master)

$ echo "# gittest" >> README.md

jay@pc MINGW64 /d/my_project/gittest (master)

$ git add README.md

warning: LF will be replaced by CRLF in README.md.
The file will have its original line endings in your working directory.

jay@pc MINGW64 /d/my_project/gittest (master)

$ git commit -m "first commit"

[master (root-commit) 5fe04f8] first commit
1 file changed, 1 insertion(+)
create mode 100644 README.md

// 本地有了提交之后,开始与远程的地址建立联系

jay@pc MINGW64 /d/my_project/gittest (master)

$ git remote add origin git@github.com:JayHeng/gittest.git

// 确认本地与远程的联系

jay@pc MINGW64 /d/my_project/gittest (master)

$ git push -u origin master

The authenticity of host 'github.com (xxx.xx.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,xxx.xx.xxx.xxx' (RSA) 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.

  很不幸,我们似乎没有与远程建立正确的联系,提示“Permission denied”,这是因为github账号没有设置ssh公钥信息所致,需要前往github网站的"account settings",依次点击"Setting -> SSH and GPG Keys"->"New SSH key",将本地的rsa key(id_rsa.pub里的字符串)填写进去,下面是生成本地rsa key的方法:

// 创建本地rsa key(如果没有的话,一直enter/yes;此处痞子衡已经生成过,故直接用之前的key)

jay@pc MINGW64 /d/my_project/gittest (master)

$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/jay/.ssh/id_rsa):
/c/Users/jay/.ssh/id_rsa already exists.
Overwrite (y/n)? n

  在github网站设置好正确rsa key之后便可以再次尝试与将本地与远程进行连接:

// 再试一次确认本地与远程的联系

jay@pc MINGW64 /d/my_project/gittest (master)

$ git push -u origin master

Warning: Permanently added the RSA host key for IP address 'xxx.xx.xxx.xxx' to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes | 213.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:JayHeng/gittest.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

  好了,大功告成,此时我们已经成功将本地与远程建立了联系,本地分支叫master,对应的远程分支是origin。

2.克隆远程仓库到本地git clone

  Git是可以远程协作的,这意味着任何人建立的共享远程仓库都可以被复制到任何机器上,只需要知道远程仓库地址即可。

// 将远程repo克隆到本地

jay@pc MINGW64 /d/my_project

$ git clone git@github.com:JayHeng/gittest.git

Cloning into 'gittest'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

  有了远程共享,再也不用担心本地仓库丢失了,想clone就clone,so easy!

欢迎订阅

文章会同时发布到我的 博客园主页CSDN主页微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:第一本Git命令教程(2)- 连接(remote/clone)的更多相关文章

  1. 痞子衡嵌入式:第一本Git命令教程(0)- 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家讲的是Git命令汇编,共12篇文章,循序渐进地介绍Git操作的完整过程. 在开始Git课程之前,需要先跟大家普及2个重要概念(四度空间.四种状 ...

  2. 痞子衡嵌入式:第一本Git命令教程(7.1)- 清理之缓存(stash)

    今天是Git系列课程第七课,上一课我们学会了查看Git本地历史提交,今天痞子衡要讲的是Git仓库的清理操作,一共4个命令,都是日常开发中非常实用的命令,掌握这4个命令,会让你有一种玩弄Git仓库于股掌 ...

  3. 痞子衡嵌入式:第一本Git命令教程(1)- 准备(init/config/.gitignore)

    今天是Git系列课程第一课,痞子衡给大家要讲的是创建仓库的准备工作. 1.建仓库git init 第一步是创建一个空仓库,这是一切操作的前提. // 打开git bash命令行,切换到指定目录下 ja ...

  4. 痞子衡嵌入式:第一本Git命令教程(3)- 变动(status/diff)

    今天是Git系列课程第三课,前两课我们都是在做Git仓库准备工作,今天痞子衡要讲的是如何查看Git空间内发生的改动. 本地有了仓库,我们便可以在仓库所在目录下做文件增删改操作,为了确定改动操作的正确性 ...

  5. 痞子衡嵌入式:第一本Git命令教程(4)- 转移(add/rm/mv)

    今天是Git系列课程第四课,上一课我们在Git空间里做了一些文件改动并且知道了如何利用Git查看这些变动,今天痞子衡要讲的是将这些变动提交到Git本地仓库前的准备工作. Git仓库目录下的文件改动操作 ...

  6. 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)

    今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...

  7. 痞子衡嵌入式:第一本Git命令教程(6)- 日志(log/reflog/gitk)

    今天是Git系列课程第六课,上一课我们学会了Git本地提交,今天痞子衡要讲的是如何查看Git本地历史提交. 当我们在仓库里做了很多次提交之后,免不了需要回看提交记录,看看自己之前的改动.有三种Git命 ...

  8. 痞子衡嵌入式:超级下载算法RT-UFL v1.0发布,附J-Link下安装教程

    痞子衡主导的"学术"项目 <RT-UFL - 一个适用全平台i.MXRT的超级下载算法设计> 历时 8 个月终于迎来了 v1.0 版发布,因为是第一个正式版,为了保证质 ...

  9. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

随机推荐

  1. vue 时间戳 转 日期

    <text style="padding-right: 10px; color: #333; font-size: 28px" slot="value"& ...

  2. Prometheus 自定义exporter 监控key

    当Prometheus的node_exporter中没有我们需要的一些监控项时,就可以如zabbix一样定制一些key,让其支持我们所需要的监控项. 例如,我要根据 逻辑cpu核数 来确定load的告 ...

  3. jQuery-day01-介绍 和 选择器获取元素

    1 ,jQuery介绍 1.1,jquery的介绍,javascript库的关系.体验jquery.把js兼容性代码封装在jquery.js中,本身就是一个javascript库. 1.2,jQuer ...

  4. jsp页面的地址

    1. ${pageContext.request.contextPath}是JSP取得绝对路径的方法,等价于<%=request.getContextPath()%> . 也就是取出部署的 ...

  5. Spark 异步Action

    异步不保序,但大作业执行时间后移. .set("spark.scheduler.mode", "FAIR") 公平调度,充分使用集群资源. Spark Doc ...

  6. swust oj 1010

    折半查找的实现 1000(ms) 10000(kb) 2877 / 11213 编写程序实现折半查找算法. 输入 第一行是查找表的长度n 第二行是查找表中的数据元素 : 第三行是要查找的数据元素的关键 ...

  7. ava怎样将"1413863429"字符串转换成datetime格式

    .....一般来说应该是一个 毫秒数 String str ="1413863429"; Long timeLong = Long.parseLong(str); SimpleDa ...

  8. json格式 (JavaScipt Object Notation)

    json格式 json语法规则: 01.对象表现形式 key:value 键值对 02.如果有多个数据,之间使用逗号隔开 k1:v1,k2:v2 03.把对象写在大括号中 var student={a ...

  9. Android OpenGL ES 开发(四): OpenGL ES 绘制形状

    在上文中,我们使用OpenGL定义了能够被绘制出来的形状了,现在我们想绘制出来它们.使用OpenGLES 2.0来绘制形状会比你想象的需要更多的代码.因为OpenGL的API提供了大量的对渲染管线的控 ...

  10. 私有云的难处—为什么需要CloudEngine?

    私有云的难处 ——我们为什么需要 CloudEngine? 郑昀 创建于2016/7/31 最后更新于2016/8/3 关键词: 容器.Docker.OpenStack.虚拟机.私有云.Mesos.配 ...