Git(背景 目的 原理 分支)


git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,也是世界上最流行的版本控制系统

背景

版本控制系统

版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便产看历史记录,备份以便恢复以前的版本的软件工程技术,简单来说就是用于管理多人协同开发项目的技术

没有进行版本控制或者版本控制本身缺乏正确的流程管理,在软件开发中将会引入很多问题,如代码冗余、软件过程的事务性、并发性、安全性等等

比如你肯定经历过这样的事情,甲方要求做一个策划,你改了很多版本甲方都不满意,最后选择了最开始的版本,这样你就会有很多版本的文档出现,这就造成了冗余

分布式版本控制

所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线 在本地提交,只需在联网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有版本数据,只要一个用户的设备就可以恢复

在这里插入图片描述

git历史

Linus在创建linux之后,由于是开源,所以Linus一人管理接收到的源代码,这就给他造成了很大的麻烦,但他坚持不用一些市面上的集中式版本控制系统,因为他觉得这样速度太慢,并且付费。最后由于压力过大,选择了一个叫BitKeeper的分布式版本控制系统,并且是免费的,但是由于开源社区中一些大佬试图破解BitKeeper的协议,导致被收回了免费使用权。于是,Linus自己花了两周的时间写出了git,并迅速运用到linux上

目的

git是世界上最先进的分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网

其主要特点就是
适合分布式开发,强调个体
公共服务器压力和数据量都不会太大
速度快、灵活
任意两个开发者之间可以很容易的解决冲突
离线工作

原理

工作区域

git本地有三个工作区域:工作目录、暂存区、资源库,如果有远程的仓库,那么就是四个区域

在这里插入图片描述
workspace : 工作区,就是平时放项目代码的地方
Index/Stage: 暂存区,用于临时存放你的改动,事实上他只是一个文件,保存即将提交到文件列表信息
Repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

在这里插入图片描述

工作流程

1.在工作目录中添加修改文件
2.将需要进行版本管理的文件放入暂存区域
3.将暂存区的文件提交到git仓库

在这里插入图片描述

分支

常用命令

git branch        //列出本地所有分支
git branch -r     //列出所有远程分支
git branch [branch name]    //新建一个分支,但依然停留在当前分支
git checkout -b [branch]    //新建一个分支,并切换到该分支
git merge [branch]          //合并指定分支到当前分支
git branch -d[branch name]  //删除分支
git push origin --delete [branch name]
git branch -dr [remote/branch]   //删除远程分支

参考来源:https://www.bilibili.com/video/BV1FE411P7B3?p=14&t=78

猜你喜欢

转载自blog.csdn.net/qq_46595591/article/details/107378935