test in 2020-1-19
GitNotes
发表于
2021.1.11
今天把Git的原理简单看了一下,没想到那么简单(大道至简的道理吧)。记一下小的关键点
- Git的版本控制是使用Git 数据库
- 版本更新不是基于Diff的保存,就是简单的新的版本的快照
- Git基于内容来进行Hash,但是有一个tree来管理目录结构,所以应该说Git基于版本和目录位置进行控制
Q&A
版本快照会不会爆空间?
理论上可能会?不过Git的版本快照不是简单地保存文件,而是进过了一系列压缩之类的,所以占用空间非常少(所以Git的核心是压缩算法吗?)
如果修改了文件名,Git如何识别?
如果是由Git控制的系统,那么打开以后的每一个文件都是Git上一次的快照,所以Git系统已经定位了parent version,不用担心track不到文件名修改
更重要的原因,Git引入了tree对象用来track文件目录(这样可以定位每一个add remove的文件,即使Git是基于内容来hash的)
LearningNotes
发表于
- 单线程 异步IO
- module解析路径是: 子->父->父的父
git config
发表于
更新于
Add proxy for git:
1 | git config --global http.proxy 'socks5://127.0.0.1:yourPort' |
Notes for Hexo
发表于
更新于
Background
这个博客内容将会长期被维护
Tricks
hexo deploy 只会把 /public 里面的内容发布到相应的branch,这样没办法维护笔记的源文件
solution: 使用 main 分支维护笔记源文件及Hexo配置,使用 hexo_display 分支维护 /public 内容(即真正显示在页面上的内容)
Suuuuuper recommand tool: Travis CI(Continuous Integration) 持续集成工具,这东西帮助把 main 分支上的东西自动 generate && deploy 到 hexo_display 分支