IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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的使用

一、版本控制软件

1.个人理解版本控制软件:

比如一个项目要上线,肯定经过不断测试和修改,这样就会有很多版本,每次呢,就需要把之前的代码复制,再给新版本重新赋值,就会产生操作麻烦、命名不规范、文件不小心删除,导致文件丢失、需要手动合并每个人对项目的修改,协作困难等问题,因此版本控制软件产生了,他就是一个用来记录文件变化,可以查看特定版本修改情况的系统,也就是说,以前手工管理文件版本的方式变成了软件管理文件版本的方式,这个负责管理文件版本的软件,叫做版本控制软件。

2.好处:

操作简便:记住几组常用终端命令,就能操控版本控制软件。(用命令控制版本控制软件)

易于对比:根据版本控制软件提供的功能,可以方便的比较文件变化的细节,从而查找出导致问题的原因。

易于回溯:可以将选定的文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。

不易丢失:在版本控制软件中,被用户误删的文件,可以恢复。

协作方便:版本控制软件提供一个分支(fork)功能,可以轻松实现多人协作开发的代码合并操作。也就是这样的流程:一个项目==>fork分支==>贡献自己的代码==>commit提交代码==>发起PR(Pull Request拉取请求,就是代码被拉到别人那去)==>经过审核==>把代码merge(合并分支)到官方仓库。

3.版本控制系统的分类

3.1 本地版本控制系统

特点:使用软件记录文件的不同版本,提高工作效率,降低手动维护版本的出错率;

缺点:单机运行,不支持多人协作开发,版本数据库(比如有一台电脑,一个文件的所有版本是类似于数据库的一个东西来进行存储的)故障后,所有历史更新记录会丢失。

3.2 集中化的版本控制系统

特点:基于服务器客户端的运行模式,服务器保存一个文件的所有更新记录(版本),客户端只保留最新的文件版本

优点:联网运行,支持多人协作开发

缺点:不支持离线提交版本更新;中心服务器崩溃后,所有人无法正常工作;版本数据库故障后,所有历史更新记录会丢失。

典型代表:SVN

3.3 分布式版本控制系统

特点:基于服务器客户端的运行模式,服务器保存一个文件的所有更新记录(版本),客户端保留服务器的完整备份,并不是只保留最新的文件版本

优点:联网运行,支持多人协作开发,客户端断网后支持离线本地提交版本更新,服务器故障或损坏后,可以使用任何一个客户端的备份进行恢复

典型代表:Git

二、为什么使用Git ?git是什么?

1.为了更好的完成项目,不断地修改项目代码,做升级优化、合并;

2.git是开源的分布式版本控制系统,就是管理代码的

3.git的特性:直接记录快照,而不是差异比较;近乎所有的操作都是本地执行

4.什么是差异比较:

SVN的差异比较:传统的版本控制系统(例如SVN)是基于差异的版本控制,他们存储的是一组基本文件和每个文件随时间逐步累积的差异;

比如,有一个项目,里面有A、B、C三个文件,把项目升级到2.0版本,对文件A和文件C进行升级,但是文件B没有动,这个时候并不是将更新过后的文件记录下来而是把文件的变化记录下来,也就是说记录的是文件的变化差异而不是文件,这样做节省了磁盘的空间,但是耗时、效率低,比如想从版本1切换到版本5,就要先走文件A的所有差异,文件B的所有差异,文件C的所有差异,这样才能得到版本5的三个文件对应的内容。

5.

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-03 13:14:29  更:2021-12-03 13:14:59 
 
开发: 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/15 17:45:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码