今天是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. c#提交事务的两种方法

    1. using (TransactionScope ts = new TransactionScope()) { 除非显示调用ts.Complete()方法.否则,系统不会自动提交这个事务.如果在代 ...

  2. hibernate框架中注意的几个问题

    使用hibernate框架中,session.createSQLQuery创建sql语句的时候遇到的问题 1.  select e.id,d.id from emp e,dept d where e. ...

  3. Tomcat7在centos7.3上正常运行,在centos7.2就不行了

    我在jdk1.7的环境下,把一个tomcat7从一台centos7.3的服务器迁移到7.2,理论上讲  迁移完成之后只要端口没有被占用,环境变量配置完成,Tomcat是可以正常启动的(空的Tomcat ...

  4. meta标签的用处详解

    meta标签的用处: 用来描述html文档的一个属性.列如作者.日期和时间,网页描述,关键字,页面刷新等. 是文档最基本的元数据 元数据(metadata): 用来概括描述数据的一些基本数据 meta ...

  5. MangoDb的安装及使用

    安装步骤 一.创建文件 vi /etc/yum.repos.d/mongodb-org-3.6.repo 二.配置文件内容 [mongodb-org-3.6] name=MongoDB Reposit ...

  6. ThreadLocal是否会导致内存泄露

    什么是内存泄露? 维基百科的定义:[内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存],我的理解就是程序失去了对某段内存的控制,那么这段内存就算是泄露了. ThreadLocal为什么会导致 ...

  7. Ubuntu 16.04下sublime text3安装

    安装方法 在确保Ubuntu更新了国内镜像源的前提下,使用ppa安装: sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt- ...

  8. Ansible配置免密登陆

    0x01:  把远程服务器的公钥来获取到本地 #ssh-keyscan ip1 ip2 ip3 ip4 >> /root/.ssh/known_hosts 完成后,/root/.ssh/k ...

  9. emWin万年历,含uCOS-III和FreeRTOS两个版本

    第8期:万年历配套例子:V6-914_STemWin提高篇实验_万年历(uCOS-III)V6-915_STemWin提高篇实验_万年历(FreeRTOS) 例程下载地址: http://forum. ...

  10. 分布式服务框架介绍:最成熟的开源NIO框架Netty

    尽管JDK提供了丰富的NIO类库,网上也有很多NIO学习例程,但是直接使用Java NIO类库想要开发出稳定可靠的通信框架却并非易事,原因如下: 1)NIO的类库和API繁杂,使用麻烦,你需要熟练掌握 ...