| |
|
开发:
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的使用 |
前言我们知道我们的文件在需要管理的时候,如果出现崩溃或者文件丢失的情况的时候,就会对管理和工作造成非常严重的影响。而这个时候,我们就需要用到git和github来管理我们所使用的项目,可以帮助管理我们的项目版本。那么,就让我们来了解git和github吧。 一、版本控制关于版本控制,当我们需要给文件去设置,设计不同的版本,最初的想法可能就是不停的创建文件,复制粘贴。但是这个过程明显是存在缺点的: 因此,我们就需要通过一些方法来方便管理这些文件。 ?版本控制软件版本控制软件是什么呢?我们来了解一下: 那么,用版本控制软件有什么好处呢?有一下这些好处: ?知道了版本控制软件的好处之后,我们现在所知道的版本控制软件都有些什么呢?
?让我们分别看看这些控制系统的情况: 本地版本控制系统集中化的版本控制系统分布式版本控制系统我们可以看到,最优秀的系统,就是Git,那么接下来,就让我们来学习Git。 二、Git基础Git是一个开源的分布式版本控制系统,是目前世界上最先进、最流行的版本控制系统。可以快速高效地处理从很小到非常大的项目版本管理。 Git的特性Git之所以快速和高效,主要依赖于它的如下两个特性:
?SVN的差异比较传统的版本控制系统(例如SVN)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异。 Git的记录快照?Git快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。 ?近乎所有操作都是本地执行Git中的三个区域和三种状态使用Git管理的项目,拥有三个区域,分别是工作区、暂存区、Git仓库。 git也有对应三个区域的三种状态:?
?基本的 Git工作流程基本的Git工作流程如下:
?三、安装并配置GIT在开始使用Git管理项目的版本之前,需要将它安装到计算机上。可以使用浏览器访问如下的网址,根据自己的操作系统,选择下载对应的Git安装包:git
?这里有安装git的教程 配置用户信息这里之后的操作,在我们安装了Git之后,找到对应的文件夹右键操作: ? 这里只需要我们点击git bash here 就可以打开面板输入下面的指令 安装完Git 之后,要做的第一件事就是设置自己的用户名和邮件地址。因为通过Git对项目进行版本管理的时候,Git需要使用这些基本信息,来记录是谁对项目进行了操作: ?Git的全局配置文件通过git config --global user.name和 git config --global user.email 配置的用户名和邮箱地址,会被写入到C:/Users/用户名文件夹l.gitconfig文件中。这个文件是Git的全局配置文件,配置一次即可永久生效。 ?检查配置信息?除了使用记事本查看全局的配置信息之外,还可以运行如下的终端命令,快速的查看Git的全局配置信息 ?获取帮助信息我们可以通过下图的方式来获得帮助信息: ?到这里安装之后的操作就结束了,接下来就是关于git的基础操作内容。 ?四、GIT基本操作git的操作有很多,让我们一起来看看吧。 获取GIT仓库的两种方式
以上两种方式都能够在自己的电脑上得到一个可用的Git仓库 在现有目录中初始化仓库?工作区中文件的4种状态工作区中的每一个文件可能有4种状态,这四种状态共分为两大类,如图所示: ?检查文件的状态在状态报告中可以看到新建的 index.html文件出现在Untracked files(未跟踪的文件)下面。 ?以精简的方式显示文件状态使用git status输出的状态报告很详细,但有些繁琐。如果希望以精简的方式显示文件的状态,可以使用如下两条完全等价的命令,其中-s是--short的简写形式: ?跟踪新文件提交更新? 对已提交的文件进行修改暂存已修改的文件?提交已暂存的文件撤销对文件的修改向暂存区中一次性添加多个文件?注意 .号相当于选择了多个文件的意思,下面知识点也可以用同样的方法选择多个文件移除 取消暂存的文件跳过使用暂存区域
移除文件忽略文件
glob模式.gitignore文件的例子查看提交历史如果希望回顾项目的提交历史,可以使用git log这个简单且有效的命令。 回退到指定的版本总结五、Github在了解Github之前,我们先来了解一下什么是开源。 开源什么是开源许可协议开源并不意味着完全没有限制,为了限制使用者的使用范围和保护作者的权利,每个开源项目都应该遵守开源许可协议( Open Source License ) 。 常见的5种开源许可协议?这里需要注意,最重要的开源协议就是GPL和MIT,这两个更加常见,使用更多。 为什么要拥抱开源
以上理论以了解为主) 开源项目托管平台
了解了开源下,最合适使用的项目托管平台是Github,那么就好好学习Github的使用吧。 什么是Github
注册Github账号的流程访问Github的官网首页 点击“Sign up”按钮跳转到注册页面,填写可用的用户名、邮箱、密码。 这里需要注意,Github是外网地址,那么要用加速器的事情你也明白,不用的话不仅很慢,很可能会卡在注册界面。如果有别的方法的话,可以自己去尝试。 注册完了之后我们就可以开始使用Github了 新建空白远程仓库请看图解: ?按图示方法,点击创造你的远程仓库。这个界面在你完成账号注册之后,只要登录就会显示这个界面。 远程仓库的两种访问方式
这里提供使用token的方法介绍:如何使用token 基于HTTPS将本地仓库上传到Github
SSH keySSH key的作用:实现本地仓库和Github之间免登录的加密数据传输。sSH key的好处:免登录身份认证、数据加密传输。
生成SSH key
配置 SSH key
检测Github的SSH key是否配置成功基于SSH将本地仓库上传到Github?和HTTPS的方式是一样的,但是更加方便。 将远程仓库克隆到本地?这里附上我的截图来更加细致的说明一下: ?上方所说的位置复制链接地址,添加在git clone 的后面,就可以实现了。 六、分支分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 其实,分支在实际开发中的作用,就是在进行多人协作开发的时候,为了防止互相干扰,提高协同开发的体验,建议每个开发者都基于分支进行项目功能的开发,例如: master主分支在初始化本地Git仓库的时候,Git默认已经帮我们创建了一个名字叫做 master的分支。通常我们把这个master 分支叫做主分支。 注意:这里和上述的内容说明了,其实master已经被切换为了main,但是代码大体上是没有问题的,只需要吧master切换成main就可以了。 功能分支由于程序员不能直接在master分支上进行功能的开发,所以就有了功能分支的概念 查看分支列表创建新分支使用如下的命令,可以基于当前分支,创建一个新的分支,此时,新分支中的代码和当前分支完全一样: 切换分支使用如下的命令,可以切换到指定的分支上进行开发: 分支的快速创建和切换使用如下的命令,可以创建指定名称的新分支,并立即切换到新分支上: 合并分支功能分支的代码开发测试完毕之后,可以使用如下的命令,将完成后的代码合并到master主分支上: 删除分支当把功能分支的代码合并到 master主分支上以后,就可以使用如下的命令,删除对应的功能分支:
遇到冲突时的分支合并如果在两个不同的分支中,对同一个文件进行了不同的修改,Git就没法干净的合并它们。此时,我们需要打开这些包含冲突的文件然后手动解决冲突。 ?手动解决的过程,就是通过打开文件(用vscode打开) 将本地分支推送到远程仓库如果是第一次将本地分支推送到远程仓库,需要运行如下的命令: 查看远程仓库中所有的分支列表通过如下的命令,可以查看远程仓库中,所有的分支列表的信息: 跟踪分支?拉取远程分支的最新的代码这里我们来看看怎么更新github里的代码,打开自己的仓库,然后点击js文件:? 就可以打开下面这个界面: 点击铅笔就可以对文件编辑: 之后我们使用git pull就可以吧更新过的js文件下载到本地。? 删除远程分支没有被合并的分支,可能会出现系统提示,不能用普通的删除方法,此时会提示使用-D的方式来删除。 总结结尾?Git和Github的使用,需要各位自己去自己实际操作一遍,就可以学懂了。多看看总结里需要我们记住的东西,忘记了就写在思维导图里面来记忆。感谢大家的收看。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/26 5:53:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |