开源概念和GitHub认识以及注册流程基础一

281 阅读4分钟

开源和闭源的区别

  • 开源:开源就是代码公开,特点是任何人都可以去修改使用开源代码
  • 闭源:软件的代码是封闭的,只有作者才能看到闭源软件的代码,也只有作者能对源代码进行修改

image.png

常见的5种开源协议

  1. BSD
  2. Apache
  3. GPL
  4. LGPL
  5. MIT

GPL

  1. 具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发表和销售
  2. 使用GPL的最著名的软件项目是:Linux

MIT

是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含作者的许可信息 使用MIT的软件项目有:jquery、Node.js image.png

开源的核心思想

我为人人,人人为我”就是开源的核心思想,软件开发大趋势是站在巨人的肩膀上,不用自己重复造轮子,让开发越来越容易。

  1. 开源给使用者更多的控制权
  2. 开源让学习变得容易
  3. 开源才有真正的安全

开源项目托管平台

image.png

  • GitHub(全球最牛的开源项目托管平台,没有之一)
  • Gitlab(对代码私有性支持友好,因为企业用户较多)
  • Gitee(又叫码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好) 注意: 以上3个开源托管平台、只能托管以Git管理的项目源代码,因此它们的名字都以Git开头

GitGub有什么用

image.png

GitHub账号注册

首先我们要访问Github官网:github.com/

image.png 点击Sign up

image.png

远程仓库的使用

登录GitHub

image.png

远程仓库的两种访问方式

Git上的远程仓库,有两种访问方式,分别是HTTPS和SSH

  1. HTTPS:零配置,但每次访问仓库时,需要重复输入GitHub的账号和密码才能访问成功
  2. SSH:需要进行额外的配置,但是配置成功后,每次访问仓库时,不需要重复输入GitHub的账号密码 注意: 在实际开发中,推荐使用SSH的方式访问远程仓库

image.png

基于HTTPS将本地仓库上传到GitHub

image.png

了解git push命令的作用

第一次提交按照↑步骤,到第二、三、四次我们在git中运行git push命令

image.png

SSK生成key

  1. SSH key的作用: 实现本地仓库和Github之间免密登录的加密数据传输.
  2. SSH key的好处: 免登录身份认证、数据加密传输.
  3. SSH key由两部分组成,分别是:
  • id_rsa(私钥文件,存放在客户端的电脑即可)
  • id_rsa.pub(公钥文件,需要配置到Github中)

生成SSK key步骤

任意文件夹打开Git Bash

image.png 在Git Bash中输入

ssh-keygen -t rsa -b 4096 -C "自己注册gitHub的邮箱"

image.png 连续回车3次回车,即可在C:\Users\用户名文件夹.ssh 目录中生成id_rsa和id_rsa.pub两个文件

image.png

配置SSH key

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

然后你的SSH keys正确的话就大功告成了

检测Github的SSH key是否配置成功

打开Git Bash,输入如下命令并回车执行 ssh -T git@github.com

image.png

image.png

利用SSH上传本地项目

打开需要提交的文件目录,鼠标右键调出git bash,输入git init创建本地git仓库,然后运行git add . 命令将git仓库中的全部文件添加到git暂存中,最后git commit -m “提示消息” 将以暂存的文件添加到未修改区,git stats命令查看一下文件夹是否干净。

image.png

image.png

接下来我们打开gitHub将https模式切换成SSH模式

image.png 如果是第一次提交将这里的命令复制到git Bash中 image.png

将远程仓库克隆到本地中

git clone 远程仓库的地址

当我们不小心删除了本地的git仓库但我们的github中已经备份了,那我们可以利用git clone 远程仓库地址将github上的文件克隆到我们本地文件

image.png

image.png

原来是没有的

image.png

命令回车后会将github里面的项目克隆到本地

image.png