day29 git

git

概述:

git是一个版本管理工具。用于管理对应的项目的版本。git是一个分布式的项目管理工具,我每个本地的代码都是一个本地仓库,然后最终提交到远程仓库(git是一个多分枝的版本管理工具)。svn是一个版本管理工具,它是集中式的项目管理工具(单分支 哭护短服务端上传)

git的下载和安装

git官网Git (git-scm.com)

下载地址Git - Downloading Package (git-scm.com)

安装

无脑下一步(最好不要更改默认路径)

测试是否安装成功

找到一个文件夹点击右键 弹窗有一个git gui here(从当前位置打开gui)git bash here(从当前位置打开命令行)当你出现这两个内容就已经安装完成了。

dos命令测试(找到当前安装路径下的bin目录 进入cmd)

git --version

git入门

dos命令操作(windows的相关命令行 cmd打开)

cd 进入文件夹
mkdir 创建文件夹
ipcomfig 查看网络配置
cls 清除所有内容

linux命令操作(linux的命令行)

cd 进入文件夹
ls 查看文件
ll 查看所有的文件以列表形式
clear 清除所有的内容
shutdown 关机
reboot 重启
mkdir 创建文件夹
tar 解压

git bash here 打开的命令窗口是一个linux命令窗口

创建本地仓库(创建的git目录是一个隐藏文件)

git init #初始化本地仓库

git的分区

对应的git仓库分区,分为三个区

  • 工作区 (就是你的工作代码)

  • 暂缓区(暂存你的代码 通过状态可以查看对应的暂存内容 可以更改)

  • 历史区(版本库)(通过日志可以查看你的提交记录 最终记录存在历史区 历史区不能更改)

分区相关操作

从工作区到暂存区

git add 文件名 #添加对应的问价到暂存区
git add 文件夹名 #添加对应的文件夹里的所有问价到暂存区
git add . #添加所有的文件到暂存区
git add * #添加所有的文件到暂存区
git add --all #停驾所有的文件到暂存区

查看状态

git status

从暂存区撤回(不会影响工作区)

git reset HEAD -- 文件名
git reset HEAD -- 文件夹
git reset HEAD -- . #撤回所有
git reset HEAD -- * #撤回所有

从暂存区到历史区

在第一次进入提交的时候需要你配置对应的用户名和邮箱号

git config user.username 名字 -- global
git config user.emall 邮箱 -- global

提交命令

git commit 文件名
git commit 文件夹名字
git commit .
git commit *

vi编辑器

vi编辑器三种模式

  • 阅读模式(默认的模式 从插入模式进入阅读模式按esc键)

  • 插入模式(进入插入模式才可以进行编辑 按 i a o 都可以进去 通过阅读模式进入)

  • 命令行模式(执行命令 从于都模式进入 :wq保存退出)

提交记录查看

git log

直接设置对应的提交信息进行提交

git commit 文件名 -m 提交信息

从暂存区提交到历史区 暂存区就没有了

从历史区库撤回

git reset --hard 版本号
git reset --hard HEAD #撤回最近提交的

分支

概述:

分支其实就是将每个功能进行相关的抽取,让每个功能之前不可以受影响。

示例

某公司开发一个医药管理系统,张三负责一个登录功能,李四负责一个审批功能。两个功能之前应该是没有关系的,最对应下载代码的时候,张三只需要下载张三的代码,李四只需要下载李四的代码。因为我们现在只有一个分支,那么张三的代码和李四的代码是不是都要上传到这个分支,那么就会出现张三的代码可能覆盖李四的代码(混淆)。为了防止这个操作对应的就可以给张三的功能和李四的功能开辟不同的分支那么他们现在就不会影响。分支是为了更加方便多人开发协作

分支命名及相关要求

git分支分为集成分支。功能分支和修复分支,分别命名为master、feature和fix。均为单数。不可以使用features、future、hotfixes、hotfixs等错误名称。

  • master(主分支,永远是可用的稳定版本,不能直接在该分支上开发

  • develop(开发主分支)

  • master_check(未上线前的开发分支,该分支只做只和并操作,不能直接在该分支上开发,前期开发完成后将feature分支合并到此分支)

  • online(线上分支,由发版人员确认测试没问题后,将online_check分支合并到此分支)

  • online_check(线上开发主分支,所有新功能以这个分支来创建自己的开发分支,该分支只做只和并操作,不能直接在该分支上开发)

  • feature-xxx(功能开发分支,在develop上创建分支,以自己开发功能模块命名,功能测试正常后合并到develop分支,开发完成合并到online_check分支上)

feature/login
  • fix-xxx(修改bug分支,在master分支上创建 修复完成后合并到online_check)

注意事项:

  • 一个分支尽量开发一个功能块模块,不要多个功能块在一搁分支上开发。

  • feature分支在申请合并之前,最好是先pull一下master_check分支下来,看一下有没有冲突,如果有就先解决冲突在申请合并。

分支相关操作

开辟分支

git branch 分支名

查看分支(*号表示当前所在分支)

git branch

切换分支

git checkout 分支名

删除分支(不能处在当前分支删除当前分支)

git branch -d 分支名
git branch -D #强制删除

合并分支(将指定分支合并当前分支)

git merge 分支名

衍合分支(将指定分支衍合到当前分支)

git rebase 分支名

衍合和合并的区别在于,合并会产生一个merge commit,衍合不会

gitte

概述:

gitee是一个代码平台(国内 码云),他其实也是一个远程仓库(可以将你的代码上传到这个仓库)。类似于gitee的平台还有gitHub(全球性的代码托管平台)以及类似于gitHug的一个托管平台gitLable(需要自己搭建环境 私服)

gitEE入门

账号注册Gitee 企业版 - 企业级 DevOps 研发效能平台

主页

新建仓库

克隆

提交内容到远程仓库

git add .
git commit . -m信息
git remote add origin url 地址 #这个git文件夹是由gitee平台创建 不需要连
git push origin master

获取最新内容

git pull origin master #拉去最新的内容 合并分支

请求内容

git fetch origin master #不会合并对应的分支

git冲突

版本的冲突,a和b维护同一份代码(版本0),a先提交了版本1,b在提交的话就会有冲突(版本0)b就是不能提交上去,这个时候就要解决这个问题,我们就可以先拉去最新的这个时候b的版本就变成了版本1然后b再提交这个给时候版本变成了版本2就可以顺利提交,如果a和b写的同一份文件呢,这个时候也会有问题(冲突问题 保留谁的问价 比对代码保留对应的内容处理冲突(人工))

git fetch origin master:temp #请求master的内容进行备份 备份的分支temp
git diff temp #比对
git merge temp #合并

vescode来处理

扩展内容

http的协商缓存和强制缓存

概述:

下载一个电影到你本地就称为缓存,缓存的概念就是将资源下载你的电脑上,缓存的好处就是提高速度,它可以将我们的页面渲染的性能提高。对应的http为了提高我们的数据请求的速度性能他就是内置缓存,为了减少对应的服务器处理提高对应的性能。

http内置缓存有两种分别为

  • 强制缓存

  • 协商缓存

强制缓存

  • 就是强制性让页面请求的数据通过缓存读取(数据不变的)失效性(响应头)

  • cache-control缓存控制器

  • 返回的状态码一定是200

协商缓存

  • 就是服务器和浏览器进行协商看对应的数据要重新响应(请求一定会发生)

  • etag这个内容是用于判断当前的文件是否发生变化

  • last-modelfied文件的最后修改时间通过这个时间判断数据是否发生变化了

  • 如果数据是没有更改那么给你返回的状态码是304

  • 如果数据发送变化那么重新响应数据 返回状态码是200

http的协商缓存和强制缓存的区别

  • 强制缓存的优先级高于协商缓存(cache-control来控制1.0是一个expires来控制)

  • 强制缓存的数据一定没有发送变化。所以返回的状态码一定是200

  • 协商缓存(etag和last-modified来共同控制)是数据可能发送变化 或者是强制缓存过期了这个时候浏览器一定会发送请求

  • 如果数据发送变换 返回状态码为200 没有变化状态码为304

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值