3. 常见的 5 种开源许可协议
① BSD(Berkeley Software Distribution)
② Apache Licence 2.0
GPL(GNU General Public License)
  • ⚫ 具有传染性的一种开源协议,不允许修改后和衍生的代码做为闭源的商业软件发布和销售
  • ⚫ 使用 GPL 的最著名的软件项目是:Linux
④ LGPL(GNU Lesser General Public License)
MIT(Massachusetts Institute of Technology, MIT)
  • ⚫ 是目前限制最少的协议,唯一的条件:在修改后的代码或者发行包中,必须包含原作者的许可信息
  • ⚫ 使用 MIT 的软件项目有:jquery、Node.js
专门用于免费存放开源项目源代码的网站,叫做开源项目托管平台。目前世界上比较出名的开源项目托管平台
主要有以下 3 个:
⚫ Github(全球最牛的开源项目托管平台,没有之一)
⚫ Gitlab(对代码私有性支持较好,因此企业用户较多)
⚫ Gitee(又叫做码云,是国产的开源项目托管平台。访问速度快、纯中文界面、使用友好)
注意:以上 3 个开源项目托管平台,只能托管以 Git 管理的项目源代码,因此,它们的名字都以 Git 开头。

1. 注册 Github 账号的流程

① 访问 Github 的官网首页 https://github.com/
② 点击“Sign up”按钮跳转到注册页面
③ 填写可用的用户名、邮箱、密码
④ 通过点击箭头的形式,将验证图片摆正
⑤ 点击“Create account”按钮注册新用户
⑥ 登录到第三步填写的邮箱中,点击激活链接,完成注册

3. 远程仓库的两种访问方式

Github 上的远程仓库,有两种访问方式,分别是 HTTPS 和 SSH。它们的区别是:
① HTTPS:零配置;但是每次访问仓库时,需要重复输入 Github 的账号和密码才能访问成功
② SSH:需要进行额外的配置;但是配置成功后,每次访问仓库时,不需重复输入 Github 的账号和密码
注意:在实际开发中,推荐使用 SSH 的方式访问远程仓库

4. 基于 HTTPS 将本地仓库上传到 Github

5. SSH key

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

6. 生成 SSH key

① 打开 Git Bash
② 粘贴如下的命令,并将 your_email@example.com 替换为注册 Github 账号时填写的邮箱:
⚫ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
③ 连续敲击 3 次回车,即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件

7. 配置 SSH key

① 使用记事本打开 id_rsa.pub 文件,复制里面的文本内容
② 在浏览器中登录 Github,点击头像 -> Settings -> SSH and GPG Keys -> New SSH key
③ 将 id_rsa.pub 文件中的内容,粘贴到 Key 对应的文本框中
④ 在 Title 文本框中任意填写一个名称,来标识这个 Key 从何而来

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

Git 分支 - 本地分支操作

3. master 主分支
在初始化本地 Git 仓库的时候,Git 默认已经帮我们创建了一个名字叫做 master 的分支。通常我们把这个master 分支叫做主分支
  •  在实际工作中,master 主分支的作用是:用来保存和记录整个项目已完成的功能代码
  • 因此,不允许程序员直接在 master 分支上修改代码,因为这样做的风险太高,容易导致整个项目崩溃。

4. 功能分支

由于程序员不能直接在 master 分支上进行功能的开发,所以就有了功能分支的概念。
功能分支指的是专门用来开发新功能的分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到 master 主分支上,如图所示

5. 查看分支列表

使用如下的命令,可以查看当前 Git 仓库中所有的分支列表:

注意:分支名字前面的 * 号表示当前所处的分支。

6. 创建新分支
使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样:

7. 切换分支

使用如下的命令,可以切换到指定的分支上进行开

8. 分支的快速创建和切换

使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上:

9. 合并分支
功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到 master 主分支上:
9. 删除分支
当把功能分支的代码合并到 master 主分支上以后,就可以使用如下的命令,删除对应的功能分支:

① 能够掌握 Git 中基本命令的使用
⚫ git init
⚫ git add .
⚫ git commit –m "提交消息"
⚫ git status 和 git status -s
② 能够使用 Github 创建和维护远程仓库
⚫ 能够配置 Github 的 SSH 访问
⚫ 能够将本地仓库上传到 Github
③ 能够掌握 Git 分支的基本使用
⚫ git checkout -b 新分支名称
⚫ git push -u origin 新分支名称
⚫ git checkout 分支名称
⚫ git branch

Github - 开源相关的概念相关推荐

  1. GitHub开源项目 - Jeecg-Boot开始开发平台介绍

    GitHub开源项目 - Jeecg-Boot开始开发平台介绍 Jeecg-Boot 是一款基于SpringBoot+代码生成器的快速开发平台!采用前后端分离架构:SpringBoot,Mybatis ...

  2. github开源项目大集合(1)

    github开源项目大集合 目前包括: Android 开源项目第一篇--个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridV ...

  3. github开源项目免费使用Azure PipeLine

    微软收购Github后,很多人猜想微软可能会砍掉VSTS,然而事实VSTS并没有砍掉,关于Azure Devops的详细信息可以查看 这篇博客,如果想查看原文也可以从链接里提供的原始地址里查看. 今天 ...

  4. 如何参与一个GitHub开源项目

    Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Git ...

  5. 推荐标星 100 K 的 GitHub 开源项目

    推荐标星 100 K 的 GitHub 开源项目 原文见:推荐 10 个标星 100 K 的 GitHub 开源项目 以下摘录部分: Build Your Own X (GitHub Star:102 ...

  6. 【UI学习】Android github开源项目,酷炫自定义控件(View)汇总

    [UI学习]Android github开源项目,酷炫自定义控件(View)汇总 转载  2016年09月04日 23:23:15 3484 近期整理的比较酷炫并且我们会经常用到的custom vie ...

  7. github 开源android项目

    转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...

  8. 如何参与Github开源社区开发

    如何参与Github开源社区开发 最近对Github开源社区感兴趣,想学习如何在Github上面参与到开源社区开发. Github项目精确搜索 关于如何在github社区查询到自己想要的开源项目,根据 ...

  9. Android Hawk数据库的源码解析,Github开源项目,基于SharedPreferences的的存储框架

    今天看了朋友一个项目用到了Hawk,然后写了这边文章 一.了解一下概念 Android Hawk数据库github开源项目 Hawk是一个非常便捷的数据库.操作数据库只需一行代码,能存任何数据类型. ...

最新文章

  1. c语言字符串机考题,2016全国计算机二级《C语言》机考试题及答案
  2. form中的onblur事件简单的介绍
  3. 学python需要什么基础知识-Python的学习,都需要具备哪些计算机基础知识?
  4. 转载 Net多线程编程—System.Threading.Tasks.Parallel
  5. mysql相关命令操作
  6. JVM中的五大内存区域划分详解
  7. 在linux中添加字体
  8. Android开发笔记(一百五十八)运行时动态授权管理
  9. 微信开发之调起摄像头、本地展示图片、上传下载图片
  10. js Promise理解,同时请求多个接口等
  11. Jflash源码分析
  12. 鸿蒙系统屏幕解锁问题,鸿蒙系统解锁卡退黑屏
  13. 【Qt5】Windows下配置程序的产品、公司、版权、版本号等详细信息
  14. 内网渗透之 windows 基础
  15. 将EXCEL表格的数据转化为数组对象形式的数据
  16. 记录--嵌入式设备生成二维码
  17. 数据库安全性 --- 概述
  18. Android 开发即时聊天工具 YQ :(五) 发送消息
  19. result returns more than one elements 解决办法
  20. 青云热链系列之听区块链里最真实的声音6月14日将举行

热门文章

  1. ibm3850服务器cpu开启虚拟化,IBM内建虚拟化X4服务器3850 M2一季度正式推出
  2. 判断矩阵是否为单位矩阵
  3. 泰凌微 SIG Mesh 开发
  4. shareaza源码编译
  5. 软件在线升级系统设计
  6. 基于Three.js的3D简历制作
  7. Unity2D横版游戏开发-游戏框架构建脚本学习
  8. 最新网站被挂马被跳转解决办法
  9. [校内模拟]为了部落
  10. JAVA遍历list四种方法及其效率比较