Day 23:将你的 Hexo 使用 Git 指令备份到 Github 储存库另一个分支

我们都说备份很重要,因此定时备份 Hexo 就是我们必学的其中一个功课之一啦!我们对 Hexo 的更新与编辑都是在本机上运行,万一有一天电脑可能一个不小心当机资料都没有了,而 Hexo 本身的编辑资料也葬送其中的话... 就会有点麻烦啦!因此今天要跟大家介绍该如何利用 Git 指令备份到 Github 储存库另一个分支。

首先我们先来认识「.gitignore」这个档案

并不是所有档案都要推送上去备份

我们并不是所有目录或是档案都要推送上去的,例如像是目录 public,这个目录即是 Hexo 产生出的静态档,因此平常我们在执行部署指令 hexo d 时,已经将这些档案推送到 Github Pages 了,也就是我们平常所浏览的部落格。

另外还有像是 node_modules 等与其他目录或档案,也基本上都是不用特别去备份,主要我们需要备份的是平常所编辑的 .md 档案、网站设定档。此时我们就要利用「.gitignore」这个档案来帮我们过滤掉不需要部署上去的部分。

.gitignore 用途

这个档案位於根目录,用於 Git 部署档案上去时,符合里面的目录或档案条件时,就不会被推送上去。Hexo 本身就有撰写好预设几个不用推送上去的目录或档案:

.DS_Store # 不推送 .DS_Store 档案
Thumbs.db # 不推送 Thumbs.db 档案
db.json # 不推送 Tdb.json 档案
*.log # 不推送副档名为 .log 的档案(星号为万用字元,代表任何数目的字元)
node_modules/ # 不推送目录 node_modules 与其内档案
public/ # 不推送目录 public 与其内档案
.deploy*/ # 不推送开头为 .deploy 的目录

设定本地储存库

若你还没学过 Git(只有使用指令进行过 Hexo 操作),以下部分可以好好学起来,往後如果使用到 Git,以下指令将会很常用。基本上要将档案部署到 Github 都会是使用以下指令。

建立本地储存库

记得我们在 Github 建立过储存库这件事情吧?你可以把它理解成是远端的储存库,而如果我们要将档案推送到远端储存库,我们自己也要建立一个本地储存库。

执行本地储存库的指令为:

# 指向自己的 Hexo
cd /c/30blog/ # cd /你的 Hexo 目录位置/
# 建立本地储存库
git init

git init 的意思是在这个目录建立 Git 储存库,让整个目录可以被 Git 进行追踪。

建立储存库

建立後可以在自己的 Hexo 目录出现一个 .git 目录:

.git 目录

这个目录是一个被隐藏的档案,所以你如果点进来没有看到的话,就要设定一下能够显示被隐藏的项目。以 Windows 为例,点选顶部选单的检视後,将「隐藏的项目」勾选即可。

勾选隐藏的项目

与远端储存库进行连接

ok,再来就要连接远端储存库了。首先到你放置 Hexo 的 Github 储存库复制你的储存库 Clone:

储存库 Clone

再来执行以下指令,来连接 Github 储存库:

git remote add origin 你的储存库 Clone 位置
# Clone 位置:https://github.com/你的 Github 帐号/你的 Github 帐号.github.io.git

基本上执行後不会给甚麽提示讯息。如果要看有没有成功,可以到 /.git/config 这个档案查看:

查看是否成功设定远端储存库资讯

commit 你的档案

基本上建议是每新增一篇文章或是有任何编辑时都可以 commit 一下,以确保最新版本都有被备份到。

将档案从工作目录移入索引区

专案目录被 Git 追踪後,当你有任何档案的新增或是编辑,就会被归类到所谓的工作目录(代表跟前一版本有不同的更动之处),再来我们要将档案加入到索引,以方便接下来 commit(更新版本)时,好归类这些档案都是属於这次的 commit(更新)。

此时要执行的指令为:

git add .

这个指令就是将有更动的所有档案移入索引区,如果只是想移入一个档案就指定档案名称即可,不过通常是会将全部有更动的档案一起移动到索引区啦,除非你有特别想纪录不同的版本号。

对了,执行後可能会看到一堆 warning,基本上可以不用理会。如果下一步 commit 有成功的话就没问题~

将索引区内的档案 commit 成更新版本

git commit -m "更新讯息"

我们要使用这段指令来更新 Git 版本,其中更新讯息可以撰写这次你做了哪些更动(比如说是新增或编辑哪篇文章),以利日後需要时能够方便辨别。

日後也可以透过指令 git log 或是上传到 Github 後的 Commit 纪录来查看更新过的版本纪录。

部署到 Github 上

见证奇蹟的一刻到啦!接着要执行部署指令,即可将档案部署到 Github 上。

如果你是透过本系列的教学来安装 Hexo,基本上显示到 Github Pages 的分支为 gh-pages(详细可回去看 Day 11 讲述部署到 Github Pages 那篇),那麽我们的备份档案就要设定在不同的分支,这里我们就取名为 master。(如果你正好 Github Pages 连接的分支为 master,那就取其它分支名称)

git push -u origin master
# git push -u origin 分支名称

部署成功的讯息大概长这样:

Git 部署成功

此时我们在回来 Github 储存库,如果有看到新的分支与刚刚部署的档案,恭喜你成功完成备份分支的部署啦!

Github 储存库新分支

参考资料

本篇文章同步发布於我的部落格 Gui Blog


<<:  Day 0x 1C - odoo addons 永丰金流开发(Part 3 - controller)

>>:  近似最短路径 (4)

test

...

Day18# Leetcode TwoSum

接下来的 12 天,会用每天刷 leetcode 练习的方式来练习 Go 那麽话不多说,我们就进入正...

智慧财产的角度-保护生产参数应该思考的最关键问题

知识产权具有所有者,否则它将属於公共领域。“商业秘密是指可以出售或许可的机密信息的知识产权(IP)。...

Day23 ( 游戏设计 ) 射击幽浮

射击幽浮 教学原文参考:射击幽浮 这篇文章会介绍如何使用「建立游戏角色」、「游戏角色座标」、「游戏角...

免费Youtube影片下载工具全推荐!只要加上文字就能下载

你有萌生过下载Youtube影片的念头吗?在Youtube影片越发多元的情况下,有很多老人家也开始喜...