首先你需要注册一个github用户名,我的github账户是:1654218052@qq.com

由于本地的git仓库和github的仓库是通过SSH加密的,所以我们还需要设置一点东西哦

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Git Bash,创建SSH Key:

$ ssh-keygen -t rsa -C "email@example.com"                   # 此处填写自己的邮箱

然后一路回车,使用默认值即可。之后可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开 settings---->SSH&GPG keys页面,点击右上角“Add SSH Key”,打开Add SSH Key页面填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。之后点击Add SSH Key提交即可。

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

一. git添加远程仓库

1:github登陆之后在右上角点击加号,添加一个仓库

2:添加的仓库题目名字(我的是learngit)一定要写,描述无所谓可以后续再添加。点击create reponsitory

3:添加成功之后,我们就拥有了自己的github新仓库

二. 关联和移除远程库

创建成功之后,我们会看到仓库的地址,如下:git@github.com:1654218052/learngit.git,然后我需要将我们之前的本地仓库和这个远程仓库进行关联,使用git remote add命令,如下:

$ git remote add origin git@github.com:/learngit.git

如果你配置错了,也不要紧张,执行以下命令可以移除配置的远程仓库

$ git remote rm origin

添加后远程库的名字就是origin,这个是git默认叫法,当然也可以改成别的啦

三.  推送本地仓库内容至远程库

首次执行的时候把本地库的所有内容推送到远程库上:

$ git push -u origin master           # 首次执行推送至远程仓库

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。,就不在需要-u参数了,只需要执行以下命令即可。

$ git push origin master              # 非首次执行推送至远程仓库

如果想推送到其他分支,比如我也想把我的lalal分支推送到远程仓库中,执行如下命令:

$ git checkout lalal                    # 指向分支lalal
$ git push -u origin lalal # 推送至远程仓库的lalal分支下

先切换到fa分支,然后执行git push命令,参数含义和之前的一样,这里我们创建的远程仓库的分支名也为fa(当然我们可以取任何名字,但是为了不混淆,最好取一致的名字)。这两条命令执行成功之后,此时在github中我们就可以看到已经有多个分支了

四. 克隆远程仓库至本地

首先登录github,我们在github中新建一个仓库gitskills.

之后,我们边学习将仓库clone到本地来

$ git clone git@github.com:/gitskills.git
Cloning into 'gitskills'...
remote: Enumerating objects: , done.
remote: Counting objects: % (/), done.
remote: Compressing objects: % (/), done.
remote: Total (delta ), reused (delta ), pack-reused
Receiving objects: % (/), done.

注意把Git库的地址换成你自己的,这时候我们便可以进入gitskills,显然这是一个空的仓库故不会输出任何结果

$ cd gitskills
$ ls

读后有收获可以赞赏一下哦

最新文章

  1. mysql 命令行还原备份数据库
  2. JDBC 内部资料 请勿转载 谢谢合作
  3. 立体角的单位——立体弧度(sr)
  4. Perforce P4V,添加映射
  5. MySQL(Navicat)运行.sql文件时报错:[Err] 2006 - MySQL server has gone away 的解决方法
  6. asp.net 捕获全局未处理异常的几种方法
  7. MySQL做练习时总结的一些知识点
  8. php 实现多线程
  9. JavaScript网站设计实践(七)编写最后一个页面 改进表单
  10. HDU_2035——求A^B的最后三位数
  11. Java 泛型 协变式覆盖和泛型重载
  12. txt文件的读取
  13. C语言函数与程序结构
  14. BUAA面向对象设计与构造——第一单元总结
  15. 习题集1a:研究方法入门
  16. Centos 7 docker 启动容器 iptables 报 No chain/target/match by that name
  17. 使用TensorFlow遇到的若干问题
  18. 阿里OSS存储,php版demo
  19. c++ 中 char 与 string 之间的相互转换问题
  20. Mysql转换成SqlServer数据库,以及SqlServer转换成Mysql数据库

热门文章

  1. EasyUi Datagrid中footer renderFooter
  2. BZOJ2278 [Poi2011]Garbage[欧拉回路求环]
  3. 宽字符(UNICODE)字符集
  4. Window Service安装不成功
  5. luogu 3047 [USACO12FEB]附近的牛Nearby Cows 树形dp
  6. [Luogu] 选择客栈
  7. HZOJ 20190819 NOIP模拟26题解
  8. 标准输入输出(C++)
  9. 图文并茂VLAN详解,让你看一遍就理解VLAN
  10. synchronized的对象锁和类锁