【每日一题NO.84】Git三连问...

共 830字,需浏览 2分钟

 ·

2021-11-14 15:05


Git 快照

快照的基本思想和 immutable.js 类似:
使用 immutable 生成的对象都是不可变对象,每次对该对象进行修改都会生成一个新的对象,immutable 会维护一个树形结构,新对象的修改只会添加某些节点,然后返回一个新的指针,并与旧对象共用相同的部分。

Git 快照也是这样。只不过是在文件系统层面实现的。
我们都知道当你删除一个文件后,文件原来所占的磁盘空间并不是被清空,而是被文件系统标记为已废弃,可修改的状态。
快照的作用就相当于将旧文件所占的空间保留下来,并且保存一个引用,而新文件中会继续使用与旧文件内容相同部分的磁盘空间,不同部分则写入新的磁盘空间。
总的来说,Git 其实也算是保存 diff 的方式,只不过是在文件系统层次上实现的。

Git 的工作区域

工作区:

用户本地的工作目录

暂存区:

一个临时的用于放置文件改动的缓存区域

版本区:

既包含了所有版本以及分支的仓库。

该仓库里面的文件能够被 Git 所管理,文件的增加、删除、修改都能被 Git 所跟踪。

Git 的工作流程

  1. 在工作区添加、修改文件
  2. 将修改后的文件放入暂存区
  3. 将暂存区的文件提交到本地仓库
  4. 将本地仓库的修改推送到远程仓库

在 Git 中,如何为提交的版本打标签

  1. 切换到需要打标签的分支上
  2. 敲命令 git tag 可以打上一个新的标签
  3. git tag 查看所有的标签
  4. 推送标签git push --tags

所有《每日一题》的 知识大纲索引脑图 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以点击文末的 “阅读原文” 快速跳转


END
愿你历尽千帆,归来仍是少年。
浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报