网站建设的技术有哪些方面卖摄影作品的网站

news/2025/10/6 6:18:38/文章来源:
网站建设的技术有哪些方面,卖摄影作品的网站,网页简洁模板,淘客网站开发视频教程系列文章目录 手把手教你安装Git#xff0c;萌新迈向专业的必备一步 GIT命令只会抄却不理解#xff1f;看完原理才能事半功倍#xff01; 系列文章目录一、Git 的特征1. 文件系统2. 分布式 二、GIT的术语1. 区域术语2. 名词术语1. 提交对象2. 分支3. HEAD4. 标签#xff0…系列文章目录 手把手教你安装Git萌新迈向专业的必备一步 GIT命令只会抄却不理解看完原理才能事半功倍 系列文章目录一、Git 的特征1. 文件系统2. 分布式 二、GIT的术语1. 区域术语2. 名词术语1. 提交对象2. 分支3. HEAD4. 标签TAG 3. 动作术语 三、Git 存储模型1. GIT 数据库2. 树对象3. 提交对象 总结 上一次我们简单介绍了为什么要用版本管理以及怎么安装Git以及基本认识为新手朋友们迈出了实操的第一步。而本期的内容其实笔者犹豫了很久到底是先讲GIT的模型和原理还是直接讲GIT常用命令? 最终笔者决定还是先从模型与原理下手不仅是它是命令的前提而且笔者发现虽然很多用GIT但只限于几个常用命令对其运行机制却知之甚少一旦出现问题就容易束手无策了难以处理所以本期我们还是先讲讲GIT的基础原理吧 作者简介战斧从事金融IT行业有着多年一线开发、架构经验爱好广泛乐于分享致力于创作更多高质量内容 本文收录于 GIT 专栏有需要者可直接订阅专栏实时获取更新 高质量专栏 云原生、RabbitMQ、Spring全家桶 等仍在更新欢迎指导 Zookeeper Redis kafka docker netty等诸多框架以及架构与分布式专题即将上线敬请期待 一、Git 的特征 1. 文件系统 我们都知道Git是个版本控制系统但是如果你深入了解其原理就不难发现它更像一个文件管理系统如果你使用过其他版本控制器不难发现它们的思路非常符合“版本控制”的逻辑它们记录的是一个初始文件以及后续对该文件的历次修改内容如下 而对于GIT则是把你每次的“提交”当作一次相机的“快门”GIT会为你把当时的全部文件内容都做一个快照然后进行存储这一系列的快照每一个快照展开都是完整的文件系统。 当然为了效率如果文件没有修改Git 不再重新存储该文件而是只保留一个链接指向之前存储的文件 2. 分布式 我们可以把上次的图继续拿来使用GIT的核心工作都是在本地完成的即其主要工作都聚焦在工作区到本地仓库这意味着即使我们离线了我们仍然能完成提交操作GIT仍然能忠实的记录下我们的操作记录而不像其他版本控制器断网后版本控制功能就失效了。 二、GIT的术语 在接触GIT的时候我们难免会接触到一些术语或概念我们先对术语做个解释如果你看了某些解释觉得一头雾水先别着急我们在下面会慢慢解释 1. 区域术语 GIT一共分为四个区域对于开发者来说由远到近依次为远程仓库、本地仓库、暂存区和工作区 远程仓库可以是GitHub、GitLab也可以是你自己的私有服务器包含项目所有的版本控制信息和文件历史记录。 本地仓库你电脑上的存储库它包含项目所有的版本控制信息和文件历史记录 暂存区也称为索引Index用于存储下一次提交时要包含哪些修改或变更。 工作区指项目的实际文件夹即我们日常编辑的文件夹。 我们之前讲了三个部分唯独没有讲暂存区。实际上我们的代码不能直接从工作区就到仓库去本地仓库只接收暂存区提供的内容所以我们的任何新增、修改实际上都要先加入到暂存区。 但是为什么这块暂存区存在感不强呢主要是因为我们现在的各种工具在自动维护比如我们添加文件时IDEA会自动弹窗当我们使用Tortoisegit时提交时会让我们勾选文件这些都让我们免于手动往暂存区进行手动添加自然其存在感就稍弱了 2. 名词术语 1. 提交对象 我们每次把暂存区的内容放入本地仓库称为一次提交产生一个提交对象也叫“提交点” 或 “提交”。 除了手动提交合并操作也会产生提交点提交点包含了前一个提交点位置、文件变更信息、变更人、变更时间等所有信息每个提交点都有自己的SHA-1哈希值作为唯一标志一般在图中用一个圈表示。因为提交点除了首次提交都会包含上一个提交点的地址所以在实例图里一般呈链表状如下图就展示了三个提交点。 2. 分支 定义 一个指向某个提交对象的指针表示一个代码的分支。可以有多个分支并行开发不同的功能或版本 对于分支这个概念在讲解之前如果你看过其他的教程可能会经常看到类似下面的图 这样的话你会认为这里有两个分支一个是由C D E构成一个是F G构成。的确这里是有两个分支不假但这张图更具体的样子应该是这样子 分支并不是树枝图中真正的分支其实只是两个指针如图分支iss94指向提交点G分支master指向提交点E理解了这个概念你才能明白为什么Git鼓励大家遇事不决就建立各种分支。在其他版本控制器中拉个分支可能意味着所有的代码都要复制一遍而在GIT中仅仅是建立一个指针。 聪明的你可能想到了一个问题建分支 建指针那岂不是当我建分支的时候会产生两个指针指着同一个节点此时如果我再次提交内容岂不是乱了套这个节点会算在哪个分支上这时候就要用到另一个概念 HEAD 3. HEAD 定义HEAD是一个特殊的指针它指向当前所在的分支或提交。一般情况下HEAD指向当前所在分支的最新提交。 没错HEAD也是个指针而且指向分支如果你没有忘记分支也是个指针的话那你应该能想象出下面的图例 这代表着HEAD指向了master分支我们把前面分支的知识结合起来现在如果我们想建立个名叫 iss95 的分支图就会变成这样子 如果此时我们再进行一次提交会变成什么样呢 所以你应该明白HEAD的作用了它代表着你下次提交的位置此处它指向master所以我们的提交是提交至分支master上的。提交后master指针自动移到C的位置。而iss95则没有任何变化还是指向B。 严谨的小伙伴可能注意到我们定义中说了一句 一般情况下HEAD指向当前所在分支的最新提交。那HEAD能指向历史提交吗 答案是肯定的我们可以使用 git checkout commit 命令将HEAD移动到某个历史提交点如下图 4. 标签TAG 定义在 Git 中Tag是一种重要的版本控制工具它们是一些永久性的指针指向某个特定的提交commit常用于代码发布、版本管理以及历史记录的标记等操作 . 简而言之标签也是一个指针只是这个指针不像分支 或 HEAD 一样它是不会移动的我们可以看到JDK源码中就有大量的标签用以标记节点 3. 动作术语 添加 Add: 将工作目录的文件加入暂存区可以只选择部分文件进行添加 提交Commit将暂存区的内容放入本地仓库每个提交都有唯一的ID。 合并Merge将两个或多个分支的修改合并到一起。 拉取Pull将远程仓库的修改拉取到本地仓库并更新工作区。 推送Push将本地仓库的修改推送到远程仓库。 检出Checkout切换某个分支并同时切换工作目录。 如果前面你都学会了相信这几个动作你应该能理解它们之前能汇聚成下面这张关系图 当然这些命令实际上并不仅仅这么简单比如 Checkout 不仅可以切换分支还可以跟文件名以 git checkout file-name 来还原文件。但是这些我们留到下一篇文章再讲解。 三、Git 存储模型 1. GIT 数据库 前面我们三番五次的把 GIT 说成更像文件系统这是很合理的。甚至可以说GIT是一个数据库其实它的核心确实就是一个键值对数据库你可以向 Git 仓库中插入任意类型的内容它会返回一个唯一的键通过该键可以在任意时刻再次取回该内容 $ echo ‘test content’ | git hash-object -w --stdin d670460b4b4aece5915caf5c68d12f560a9fe3e4 如上我们把标准输入内容 “test content” 存储进GIT它就会返回给我们一个40字符的 SHA-1 哈希值我们可以用这个值重新获取存进去的内容 $ git cat-file -p d670460b4b4aece5915caf5c68d12f560a9fe3e4 test content 但注意使用这种方式存入文件返回的只有文件内容等于说文件名我们丢失了而文件名的遗失对于文件系统来说是非常不合理的。所以我们还需要树 2. 树对象 比方说我们有一个简单的目录目录下有两个文件README 以及 Rakefile并且还有个子目录liblib里有个文件simplegit.rb。那么当我们把这个目录及其所有文件纳入GIT管理时其形态是这样的 它会把我们的文件存储成blob对象目录变成tree对象。tree对象可以存文件信息blob对象存文件内容而且tree对象还能下辖另一个tree对象这就和我们目录下还有子目录是一样的。如此一来我们就可以把我们想存放的目录及其文件以一棵树的形式完整的存入GIT中了。存是存进去了但这仅仅是一次保存存进去最多说GIT保存了我这个目录那么它的版本控制又体现在哪呢 3. 提交对象 我们上面说了整个目录能变成一个 Tree 对象存入GIT它是什么时候情况下会存呢其实就是GIT执行提交命令的时候当我们提交时GIT会把我们整个工作目录的所有文件汇聚成一个Tree并且把这个Tree的引用放进一个提交对象中进行存储。 也就是说如上图每一个圈提交对象不仅有本次提交人、提交时间等信息、而且还指向着一个Tree所以提交对象实际上就是一个快照 如上图三次提交实际上构成了一个不断往上摞的切面为啥说是切面是因为每一个切面都包含着一棵树也就是当时整个目录的内容。因此信息量其实是很多的。当然提交对象、和树对象或者文件对象一样都会存进GITGIT也会返回一个40长度的 SHA-1 哈希值。 这样当我们查询提交历史时查询到的就是所有过往的提交对象的信息如果我们确定某个提交对象后我们就能通过该提交对象的 SHA-1 哈希值能找回当时所有的文件 $ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Scott Chacon schacongee-mail.com Date: Mon Mar 17 21:52:11 2008 -0700changed the version numbercommit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7 Author: Scott Chacon schacongee-mail.com Date: Sat Mar 15 16:40:33 2008 -0700removed unnecessary testcommit a11bef06a3f659402fe7563abf99ad00de2209e6 Author: Scott Chacon schacongee-mail.com Date: Sat Mar 15 10:31:28 2008 -0700first commitPSTree对象不是压缩包它只是存储着当时那些文件对象的引用。另外提交时形成的Tree并不是把所有的文件全部又做一遍保存然后把引用放进Tree而是只保存改动或新增的文件那些没有改动过的文件已经存过了不会再存所以不用过分担心空间问题。 总结 本次我们比较形象的讲解了GIT的运行机制及存储模型如果你意犹未尽或对GIT想了解更多也可以去官方的文档做更深入的了解我把它的地址放在这里 官方中文文档 而对于大部分读者本文中所说的内容已经足够支持我们后面的学习那么下次我们就可以正式开始学习GIT的命令以及各种应用了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教育网站建设网站搜索软件排行榜前十名

区块链安全 文章目录 区块链安全不安全的随机数实战二实验目的实验环境实验工具实验原理实验内容EXP利用 不安全的随机数实战二 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 由…

柳州企业网站开发平台推广营销企业

前言 JDK 升级对于 Java 应用来说是不得不面对的事情,一方面 Java 生态系统希望 Java 应用能跟上最新 JDK 版本: Oracle 建议将 JDK 的 LTS 版本的发布周期从 3 年调整为 2 年,对于只使用 LTS 版本的应用来说,可以在更短时间内使用最新的技术&#xff…

新手搭建做网站做图兼职网站有哪些

系列文章 一、逆向工程 Sketchup 逆向工程(一)破解.skp文件数据结构 Sketchup 逆向工程(二)分析三维模型数据结构 Sketchup 逆向工程(三)软件逆向工程从何处入手 Sketchup 逆向工程(四&#xf…

营销型网站方案书从事网站开发学什么专业

近几年随着互联网科技的不断创新,扭蛋机又再一次进入到了大众的目光中,各种全新的“互联网扭蛋机”模式为大众打造了一个全新的扭蛋体验,市场规模也在不断扩大,为扭蛋机商家和创业者提供了巨大的发展空间。本文将介绍“互联网扭蛋…

哪个网站做马代路线好外贸拓客软件

什么是九宫飞星?如何看九宫飞星?如果您能配合老黄历的每日忌宜、时辰忌宜、时辰吉凶、五行旺衰、今日卦象、三煞七煞等资料综合应用,那么您就可以随时随地趋吉避凶、心想事成了。九星即为一白、二黑、三碧、四绿、五黄、六白、七赤、八白及九…

在AI技术快速实现创意的时代,挖掘游戏开发框架新需求成为关键

本文分析了一款基于JavaScript的经典游戏主机开发环境,详细介绍了其核心功能、应用场景和使用方法,并基于用户反馈总结了潜在的功能改进需求,为开发者提供参考。内容描述核心功能定位:该项目是一个专为经典游戏主机…

iNaturalist开放自然数据与计算机视觉挑战

iNaturalist平台通过结合社区观察与机器学习技术,构建了包含数百万张自然物种图像的数据集。该文探讨了计算机视觉在细粒度物种识别中的技术挑战,包括数据清洗、长尾分布处理及自监督学习应用,并介绍了基于AWS开放数…

公司网站建设的基本流程wordpress做文字站

ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例 注意:只要想要在Vue中直接操作DOM元素,就必须用r…

建网站做商城个体户资质可以电子商务网站建设与管理期末答案

一、什么是幂等性 幂等是一个数学与计算机学概念,在数学中某一元运算为幂等时,其作用在任一元素两次后会和其作用一次的结果相同。 在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数或幂等…

丹阳网站建设要多少钱广告网站推荐

从零开始的目标检测和关键点检测(三):训练一个Glue的RTMPose模型 一、重写config文件二、开始训练三、ncnn部署 从零开始的目标检测和关键点检测(一):用labelme标注数据集 从零开始的目标检测和关键点检测…

网站建设用哪种语言最好免费博客网站

近年来,随着企业对云服务的依赖不断增加,SD-WAN技术成为提升连接性能的热门选择。SD-WAN通过简化云集成和连接,以及提升应用程序性能,为企业带来显著的业务优势。这种云连接的改进使企业能够更轻松地接触全球劳动力和潜在客户。 首…

户外旅游网站模板wordpress主题 小工具

题目描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a ,b ,c ,使得 a b c 0 ?请找出所有和为 0 且 不重复 的三元组。 示例 1: 输入:nums [-1,0,1,2,-…

公司注册网站官网中国国家培训网

Qt 不是凭空产生的,它是基于现有工具链打造而成的,它所使用的编译器、链接器、调试器等都不是自己的,Qt 官方只是开发了上层工具。下面我们分几个部分讲解 Qt 使用到的工具链。 GNU 工具集 在上个世纪八十年代,计算机都是奢侈品…

门户网站建设管理工作网站代运营服务公司

在 Python 中,类属性和实例属性是两种不同类型的属性,它们在用途和作用域上有所不同。下面是关于它们的区别的详细解释: 定义位置: 类属性:定义在类的主体中,但在任何类方法之外。实例属性:通常…

网站建设公司营业执照图片国内卖到国外的电商平台

今天研究一下LRU算法,上学期学数据结构的时候就应该学一下这个算法,不过后面操作系统也会讲到LRU算法 题目 LRU缓存leetocde146 LRU(Least Recently Used,最近最少使用)算法是一种常见的缓存替换算法,通…

深圳网站设计服有哪些网站设计比较好的公司

目录 1.grep 2.sed 3.awk 1.grep grep 擅长过滤查找,按行进行过滤 例: 当有用户对我们的主机进行爆破攻击时,我们可以使用grep将 ip 查找出来,进行封锁等处理 在 /var/log 目录下的 secure 文件中存放在用户登录连接信息&am…

政务网站队伍建设情况开发区邮编

1. 功能说明 本文示例将实现R023样机小型双轮差速底盘跟随人移动的功能。在小型双轮差速底盘前方按下图所示安装3个 近红外传感器,制作一个红外线发射源,实现当红外发射源在机器人的检测范围内任意放置或移动时,机器人能追踪该发射源。 2. 电…

营销型网站的运营配套不包括免费发布网站

预约小程序,让生活更便捷——轻松掌握未来,一键预约新体验 在快节奏的现代生活中,我们总是在不断地奔波,为了工作、为了生活,不停地忙碌着。然而,在这繁忙的生活中,我们是否曾想过如何更加高效…

网站开发不让搜索引擎网站建设公司 校园网站

明天又要去参加一次面试。每次面试的时候,面试官都会在最后给面试者一些时间,来问问题。这是个非常好的机会,能按照自己的思路,来了解职位、技术、企业文化、福利待遇、企业状况和前景等情况,以弥补前面面试过程中没有…

北京市住房与城乡建设网站百度收录WordPress文章

一个Flutter&Cocoapods项目打包问题集锦 问题1 github加速问题 cocoapods项目需要访问https://github.com/CocoaPods/Specs.git,众所周知,github经常被墙,导致经常需要借助加速来下载和访问,这里可以使用油猴脚本或者Fastgi…