铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
工业纸箱 纸箱 包装彩印 纸托盘 纸护角公司网站建设
办公区绿植租赁公司网站建设 定制苗圃直供企业网站
[导读] 译注:来自 Hacker School 的 Mary Rose Cook 较近实现了一个纯 JavaScript 写就的 Git:Gitlet,包括了 Git 核心命令的概念实现。
译注:来自 Hacker School 的 Mary Rose Cook 较近实现了一个纯 JavaScript 写就的 Git:Gitlet,包括了 Git 核心命令的概念实现。Mary 说,这个项目一是为了了解 Git 内部原理,二是希望写一篇深入浅出解释 Git 核心概念的短文。较好的学习方法就是亲自去实现它,而 Git 的核心功能代码也不过 300 行。相应的代码在 Github 上。短文很有趣,思路清晰也足够深入,值得一看。
设想你现在位于 alpha/ 目录下,这里有一个文本文件 number.txt,里面的内容只有一个词:“first”。
现在执行 git init 将这个 alpha 文件夹初始化为 Git 仓库。
执行 git add number.txt 会将 number.txt 添加到 Git 的索引(index)中。这个索引记录了所有 Git 保持追踪的文件,现在它有了一个映射记录 number.txt -> first,同时 add 命令还会把一个包含了 first 字符串的二进制对象加入 Git 的对象数据库里。
现在执行 git commit -m first。这条命令会做三件事情。*先在对象数据库内创建一个树对象,用以记录 alpha 目录下的文件列表,这个对象有一个指针指向前面 git add 命令创建的 first 二进制对象;第二,这条命令还会创建一个 commit 对象用以代表刚刚提交的版本,它包含一个指针指向刚刚的树对象;第三,master 分支也会指向这个新创建的 commit 对象。
现在执行 git clone . ../beta。它会创建一个新目录 beta 并将其初始化为 Git 仓库,然后把 alpha 仓库的对象数据库中所有对象拷贝给 beta 的对象数据库,将 beta 的 master 分支像 alpha 的 master 一样指向相应的对象。它还根据 first提交的内容配置索引,并根据索引更新目录下的文件——也就是 number.txt。
现在切换到 beta 目录,修改 number.txt 的内容为“second”,执行 git add number.txt 和 git commit -m second,新创建的提交对象 second(译注:姑且称之为 second)会有一个指向父提交(first)的指针,表示 second 继承自 first,而 master 分支则指向 second 提交。
回到 alpha 目录,执行 git remote add beta ../beta,将 beta 仓库设为远程仓库。然后执行 git pull beta master。
在这条命令背后,它其实会执行 git fetch beta master,从 beta 仓库中找到 second 提交的相关对象拷贝到 alpha 仓库;把 alpha 中关于 beta 的 master 分支记录指向这个 second 提交;更新 FETCH_HEAD 指向刚刚从 beta 仓库拉取的 master 分支,还是这个 second 提交。
此外,pull 命令还会执行 git merge FETCH_HEAD。从 FETCH_HEAD 得知较近拉取的分支是 beta 仓库的 master 分支,据此拿到相应的对象,也就是 second 提交对象。此时 alpha 的 master 分支指着 first 提交,正好是 second 的祖先提交,于是对于 merge 命令来说只需要将 master 分支指向 second 提交即可。接下来 merge 命令还会更新索引以匹配 second 提交的内容,并且相应更新工作目录中的文件。
现在执行 git branch red,创建一个名为“red”、指向 second 提交的新分支。
然后执行 git checkout red。在 checkout 之前,HEAD 指向 master 分支,执行命令之后它就指向了 red 分支,使得 red 成为当前分支。
接下来把 number.txt 的内容修改为 “third”,执行 git add numbers.txt 和 run git commit -m third。
之后再执行 git push beta red,这条命令会把 alpha 仓库内跟 third 提交相关的对象拷贝至 beta 仓库,并且将(alpha 仓库内记录的)beta 仓库 red 分支指向 third 提交。就酱。
以上内容由虎网科技西安网站建设为您提供,更多精彩内容:https://www.huwz.com/
从越南芽庄旅游回国有哪些适用又有意义的纪念品可以带回来 越南芽庄是越南南中部的一个城市,是越南的海滨度假胜地之一。这里有美丽的海滩、清澈的海水、美味的海鲜和丰富的文化遗产。如果你在芽庄旅游,你一定会想带回一些纪念品。但是,你如何选择适用又有意义的纪念品呢?在本文中,我们将为您提供一些有用的建议。 1. 越南传统手工艺品 越南是一个有着悠久历史文化的,拥有许多独特的手工艺品。当你在芽庄旅游时,你可...
在线留言对于客户来说有用吗? 现在是网络的时代,信息的时代,很多客户在网上投资做生意赚到了很多钱,这一情况引起了很多客户的关注,使得更多的人投降了互联网,直到今天,每天做网站的客户达到上百人,网站成了很多客户的主要营销手段,很多人更是为了做好网站优化,投资了不少钱财,不少的精力。网站里面的模块都是和我们的产品相关的,通常还有一个模块是在线留言的,很多客户觉得这个模块是非常重要的,但是很多客户觉得这个是没有必要的,那么今天我们成...
网站建设中pc端与移动端之间的六大区别 如今互联网正在以突飞猛进的速度发展,而在互联网不断发展变化的同时很多的企业已经不能满足pc端的网站,目前已经有很多企业已经开始着手于移动端网站建设,且在近两年来,手机网民数量呈现爆发式增长的态势,据 天津网站建设 - 虎网科技 小编了解到,目前手机网民的数量已经超越了电脑网民的数量,然而移动端网站建设与pc端网站建设之间有很多的不同之处,如:代码编写、操作方式以及需要考虑的平台等等,具体如下: ...
网站设计怎么让速度更快响应 如果网站有更快的响应速度,那么更容易受到客户青睐。都听过一句话,时间就是生命,我们对速度的追求有更高的标准。大多数企业都会设计网站,拥有一个专属的网络形象,也是打开宣传销售的渠道。在设计时除了让网站更好看,功能更实用,更多的心思要花在速度方面。网站能否被快速打开,内容能否快速响应,基本上决定了客户愿不愿意继续浏览的心态,那么网站设计怎么让速度更快响应呢? 网站设计怎么让速度更快响应 一、简化编...
企业网站是如何死掉的? 企业网站是如何死掉的? 企业网站死了! 这样一个 “ 危言耸听 ” 的标题,应该有铁一般的证据来支撑才行。 国务院信息化工作办公室发布的《互联网络信息资源数量调查报告》显示:有 51.5% 的企业网站每天页面访问量在 50 次以下,并且这个比例还在不断扩大。也就是说,有一半以上的企业网站处于沉睡状态。这组数据无疑向我们传递出这样的信息:企业网站正在渐渐的死去。 企业是一个掌握着巨额资金的群体,企...
惠州龙门超亿数控自动化设备跟虎网科技签定网站建设条款 超亿数控是经惠州市龙门县工商局审核的有资质公司,统一社会信用代码:914413243038596724。超亿数控处于惠州市龙门县金山工业区工业三路厂房一栋。超亿数控选用虎网站网络实用型网站案例,此案例比经济型多了些功能,如动漫广告图片、在线客服QQ/MSN等聊天工具、顶部侧部二级分类导航、走马灯等功能。 超亿一家集研发、生产、销售于一体的数控设备生产厂家。主要核心产品是折弯机全伺服PC控制系统...
粤ICP备2023033431号 网站地图 SiteMap
Copyright 2006-2023 虎网站 版权所有