| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 关卡四:git 和 github 使用 -> 正文阅读 |
|
[开发工具]关卡四:git 和 github 使用 |
【学习前提】????????完成前端开发基础和JavaScript基础学习 【阶段说明】????????Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 ????????作为开发团队的一员,需要熟练地与团队其他成员进行协同配合,git作为项目版本控制工具能有效地管理协同开发项目。 【学习技巧】????????谨慎使用分支。
1、版本控制软件(系统)? ??1.概念 ????????版本控制软件是一个用来记录文件变化,以便简将来查阅特定版本修订情况的系统,故也加“版本控制系统”;把手工管理文件版本的方式改为由软件管理文件的版本,这个负责管理文件版本的软件就叫“版本控制软件”。 ????2.优点 ????????操作简便:只需识记几组简单的终端命令,即可快速上手常见的版本控制软件; ????????易于对比:基于版本控制软件提供的功能,能够方便地比较文件的变化细节,从而查找出导致问题的原因; ????????易于回溯:可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态; ????????不易丢失:在版本控制软件中,被用户误删除的文件可以轻松恢复; ????????协作方便:基于版本控制软件通过的分支功能可以轻松实现多人协作开发时的代码合并操作。 2、版本控制系统的分类????1.本地版本控制系统 ????????单机运行,使维护文件版本的操作工具化。 特点:使用软件来记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率。 缺点:
? ? 2.集中化的版本控制系统 ????????联网运行,支持多人协作开发;性能差、用户体验不好。 特点: 基于服务器\客户端的运行模式:
优点:联网运行,支持多人协作开发。 缺点:
典型代表:SVN ????3.分布式版本控制系统 ????????联网运行,支持多人协作开发;性能优秀、用户体验好。 特点: 基于服务器\客户端的运行模式:
优点:
典型代表:Git
1、Git 基础概念? ? 1.什么是Git ????????Git 是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。 特点:项目越大越复杂,协同开发者越多,越能体现出 Git 的高性能和高可用性。 ? ? 2.Git 中的三个区域 使用 Git 管理的项目拥有三个区域:
? ? 3.Git 中的三种状态
注意:
? ? 4.Git 的基本工作流程
2、安装并配置 Git? ? 1、在 Windows 中下载并安装 Git ????????在开始使用 Git 管理项目的版本之前,需要将它安装到计算机上。 ????????Git 安装包下载地址:https://git-scm.com/downloads ? ? 2、配置用户信息 ? ? ? ? 安装完 Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过 Git 对项目进行版本管理时,Git 需要使用这些基本信息来记录是谁对项目进行了操作。
注意:如果使用了 --global 选项,那么该命令只需要运行一次,即可永久生效。 ? ? 3、Git 的全局配置文件 ? ? ? ? 通过 git config --global user.name 和 git config --global user.email 配置的用户名和邮箱地址,会被写入到 C:\Users\用户名文件夹/.gitconfig 文件中。这个文件是 Git 的全局配置文件,配置一次即可永久生效。 ? ? 4、检查配置信息 查看所有的全局配置项:
查看指定的全局配置项:
? ? 5、获取帮助信息 可以使用 git help <verb> 命令,无需联网即可在浏览器中打开帮助手册:
如果不想查看网整的手册,则可用 -h 选项获得简明的“help”输出:
3、Git 基本命令小结
参考链接:Git使用-Git入门-CSDNCS入门技能树? ? ? ? ? ?? 4、开源? ? 1、什么是开源 ????????开源:开源即开放源代码(Open source code),代码是公开的,任何人都可以查看、修改和使用开源代码。 ????????闭源:软件的代码是封闭的,只有作者能查看和修改闭源软件的代码。 ????????开源不仅提供程序还提供程序的源代码;闭源则只提供程序,不提供源代码。 ? ? 2、开源许可协议 ? ? ? ? 开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议(Open Source License)。 常见的 5 种开源许可协议:
更多介绍参考:各种开源协议介绍 | 菜鸟教程 (runoob.com) ? ? 3、为什么拥抱开源 开源的核心思想是“我为人人,人人为我”,人们越来越喜欢的原因大致如下:
????????开源是软件开发领域的大趋势,拥抱开源就像站在了巨人的肩膀上,不用重复造轮子,让开发越来越容易。 ? ? 4、开源项目托管平台 专门用于免费存放开源项目源代码的网站叫做开源项目托管平台。
世界上比较出名的就是上述这 3 个,它们只能托管以 Git 管理的项目源代码。 ? ? 5、什么是Github ? ? ? ? 全球最大的开源项目托管平台,因为只支持 Git 作为唯一的版本控制工具,故名 GitHub。Github ≠ Git 5、Github? ? 1、新建空白远程仓库并访问 ????????点击右上角加号的 New repository,填写 Repository name 和 Description (optional) ,最后点击底部的绿色按钮 Create repository 就建好了。 远程仓库的两种访问方式:
? ? 2、配置SSH将本地仓库上传 ? ? ? ? 1.生成SSH key? ????????????SSH key 的作用:实现本地仓库和 Github 之间的免登录和加密数据传输 ? ? ? ? ? ? SSH key 的好处:免登录身份认证、数据加密传输 ? ? ? ? ? ? SSH key 的组成: ? ? ? ? ? ? ? ? id_rsa(私钥文件,存放与客户端的电脑中即可) ? ? ? ? ? ? ? ? id_rsa.pub(公钥文件,需要配置到 Github 中) ? ? ? ? ? ??生成SSH key: ? ? ? ? ? ? ? ? 1.右键打开 Git Bash; ? ? ? ? ? ? ? ? 2.执行 ssh-keygen -t rsa -b 4096 -C "注册 Github 账号时填写的邮箱" 命令; ? ? ? ? ? ? ? ? 3.连续敲击 3 次回车,即可在 C:\Users\用户名文件夹\.ssh 目录中生成 id_rsa 和 id_rsa.pub 两个文件。 ? ? ? ? 2.配置SSH key 配置步骤简述:
? ? ? ? 3.检测SSH key 的配置 ? ? ? ? ? ??打开 Git Bash,输入 ssh -T git@github.com,然后输入 yes,出现 Hi username!You've successfully ... 略 ... shell access. 证明配置成功了。 ? ? ? ? 4.基于SSH将本地仓库上传到 Github ? ? ? ? ? ? 新建一个项目,打开 Git Bash,初始化 Git 仓库,将项目文件进行本地提交,然后在浏览器中新建一个空白远程仓库,按上述方法配置SSH,最后执行相应代码即可完成。
1、分支的概念????????分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习 Git 时,另一个你正在另一个平行宇宙学习SVN,如果两个宇宙互不干扰,那对现在的你也没啥影响,不过,在某个时间点,两个平行宇宙合并了,于是你既学会了 Git 又学会了SVN。 ????????实际开发中,在进行多人协作开发时,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行功能的开发。 ????1、master 主分支 ????????在初始化本地 Git 仓库时,Git 会默认创建一个名为 master 的分支,通常被叫做主分支。 ????????在实际工作中,master 主分支的作用是用来保存和记录整个项目已完成的功能代码。因此,不允许程序员直接在 master 主分支上修改代码,因为风险太高,容易导致整个项目崩溃。 ? ? 2、功能分支 ????????由于程序员不能直接在 master 分支上进行功能开发,所以有了专门用来开发新功能的功能分支,它是临时从 master 主分支上分叉出来的,当新功能开发且测试完毕后,最终需要合并到 master 主分支上。 2、Git 分支的基本使用? ? 1、git checkout -b 新分支名称 ? ? ? ? 创建指定名称的新分支并立即切换到新分支上。 ? ? 2、git push -u origin 新分支名称 ? ? ? ? 第一次将本地分支推送到远程仓库。 ? ? 3、git checkout 指定分支的名称 ? ? ? ? 切换到指定分支上进行开发。 ? ??4、git branch ? ? ? ? 查看当前 Git 仓库中所有的分支列表。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 3:20:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |