使用GIT备份 博客项目 主题项目

总结了很多东西,放在博客上,担心有一天本地的文件损坏或者丢失,就想了一个办法,用Git来备份本地的博客。
有一个问题是博客目录是一个git仓库,博客目录下的themes目录下的一个theme又是一个git仓库,如果git不熟悉,在这儿肯定会犯错。

hexo博客的目录结构

  首先说一下hexo 博客的目录结构

blog目录结构

1
2
3
4
5
6
7
8
9
10
├── .deploy       #需要部署的文件
├── node_modules #Hexo插件
├── public #生成的静态网页文件
├── scaffolds #模板
├── source #博客正文和其他源文件, 404 favicon CNAME 等都应该放在这里
| ├── _drafts #草稿
| └── _posts #文章
├── themes #主题
├── _config.yml #全局配置文件
└── package.json

使用Git备份博客

因为Git是分布式文件管理工具,我用Git来管理这些目录及文件。
我备份的目录及文件有node_modules、scaffolds、source、themes、_config.yml、package.json
其中最主要的是source目录

然后把.deploy、public、themes目录放入.gitignore
因为有了source目录,你可以很快得到.deploy、public,没有必要再备份.deploy、public
因为themes下的一个目录是一个主题,本来就用git管理,没必要再次管理

  备份好的如下图

git.oschina博客备份

主题的备份

主题的备份也很重要,主题已经用Git进行管理了,那我们另开一个分支对主题进行管理就可以了
如下图
博客主题的管理

master分支是从github上克隆下来的
dev-wkq分支是从master分支拉过来的,里面保存了我自己的配置

.gitignore配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Git
.git

# hexo
Thumbs.db
db.json
*.log
public/
.deploy*/
themes

*.class
*.log

# idea
.idea
*.iml
*.iws
*.ipr

# eclipse
.project
.classpath
.settings
.apt_generated
.factorypath

.git
/target
/log*
*.log
*.swp

# mac
.DS_Store

References

[1] Hexo的版本控制与持续集成
[2] 使用hexo,如果换了电脑怎么更新博客