【每日一题NO.84】Git三连问...
Git 快照
快照的基本思想和 immutable.js
类似:
使用 immutable
生成的对象都是不可变对象,每次对该对象进行修改都会生成一个新的对象,immutable 会维护一个树形结构,新对象的修改只会添加某些节点,然后返回一个新的指针,并与旧对象共用相同的部分。
Git 快照也是这样。只不过是在文件系统层面实现的。
我们都知道当你删除一个文件后,文件原来所占的磁盘空间并不是被清空,而是被文件系统标记为已废弃,可修改的状态。
快照的作用就相当于将旧文件所占的空间保留下来,并且保存一个引用,而新文件中会继续使用与旧文件内容相同部分的磁盘空间,不同部分则写入新的磁盘空间。
总的来说,Git 其实也算是保存 diff
的方式,只不过是在文件系统层次上实现的。
Git 的工作区域
工作区:
用户本地的工作目录
暂存区:
一个临时的用于放置文件改动的缓存区域
版本区:
既包含了所有版本以及分支的仓库。
该仓库里面的文件能够被 Git 所管理,文件的增加、删除、修改都能被 Git 所跟踪。
Git 的工作流程
在工作区添加、修改文件 将修改后的文件放入暂存区 将暂存区的文件提交到本地仓库 将本地仓库的修改推送到远程仓库
在 Git 中,如何为提交的版本打标签
切换到需要打标签的分支上 敲命令 git tag
可以打上一个新的标签用 git tag
查看所有的标签推送标签 git push --tags
所有《每日一题》的 知识大纲索引脑图 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转
评论