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 分支