前端版本控制git

Git操作

1.版本控制

2.集中化版本控制SVN

优点:代码存放在单一的服务器上,便于项目的管理,分布式的版本控制系统在管理项目时,放到不是项目版本与版本之间的差异,而是索引(所需要的磁盘空间少,所以每个客户端都可以放的下)

缺点:
回滚速度慢
服务器宕机:员工写的代码得不到保障
服务器炸了:项目的历史记录丢失

分布式版本控制GIT
客户端并不是提取最新版本的文件快照,而是把代码仓库完整地镜像下来。分布式的版本控制系统出现后,解决了集中式版本控制系统的缺陷。但是占用空间会大一点。
在这里插入图片描述
每一个客户端都是一台服务器。去中心化(区块链的思想)

Git bush 和 cmd之间的区别:cmd是windows的命令git是linux命令

用户信息初始化:
注册用户名:git config --global user.name “damu”
注册邮箱:git config --global user.email damu@xxx.com
查看用户信息:git config --list

用户级别
在这里插入图片描述

3.区域

工作区:也就是你在写代码的地方,随便改随便删,也叫沙箱。
暂存区:每一次对文件的操作都会放在暂存区,不会立刻提交到版本库。
版本库:最终形成的项目才能称作版本,将项目存入版本库。
工作区 =》 暂存区 =》版本库

4.对象

Git 对象
向数据库写入内容,并返回对应的键值
Echo ‘test’ | git hash-object -w --stdin
↑返回出哈希(唯一标识),并存入数据库

Key:val组成的键值对,key就是val的hash,val的类型是blob

问题:

记住文件每一个版本所对应的KEY并不现实
文件名没有被保存,只保存了文件内容。
解决方法:树对象
当前操作都是对本地数据库进行操作,不涉及暂存区

树对象
树对象能解决文件名保存问题,所有树对象都以树对象和数据对象的形式存储。树对象对象对应了目录项,数据对象则对应文件内容。
构建树对象
Git cat-file -p master^{tree}
查看当前暂存区
Git ls-file -s

提交对象
就是对树对象的一个包装,给树对象解释说明。
在这里插入图片描述

项目版本的快照是树对象,项目提交的内容是提交对象。

5.初始git版本库:git init 6

.Git目录
(1)Hooks:目录包含客户端或服务端的钩子脚本
(2)Info:包含全局性排除文件
(3)Logs保存日志
(4)Objects:目录存储所有数据内容
(5)Refs:目录存储指向数据(分支)的提交对象的指针
(6)Config:文件包含项目特有的配置选项
(7)Description:用来显示对仓库的描述信息
(8)Head:文件指示目前被检出的分支
(9)Index:文件保存暂存区信息
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值