1.安装Git
1.1 Git下载
从Git官网直接下载安装程序,按默认选项安装。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功
1.2 Git学习了解
Git是目前世界上最先进的分布式版本控制系统。版本库,又称仓库,英文名是repository
,可以简单理解为一个目录,这个目录里所有的文件都可以被Git管理,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
- 创建一个版本库,首先选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/d/learngit
pwd
命令用于显示当前目录。在我的Windows机器上,这个仓库位于/d/learngit
。
- 第二步,通过
git init
命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in D:/learngit/.git/
这样Git就把仓库建好了,注意.git
目录是Git用来跟踪管理版本库的,不要手动修改里面的文件。
- 区别于工作区(Working Directory),暂存区(称为stage或index)是Git非常重要的概念,具体见廖老师Git教程。
- Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。Github这个网站,就是提供Git仓库托管服务的(相当于一台7*24小时开机的机器,远程仓库与本地仓库本质上没什么不同,纯粹是为了交换大家的修改),所以只要注册一个Github账号,就可以免费获得Git远程仓库。由于你的本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以需要一点设置,见Git教程。
- Git本地仓库的常用命令,如提交(commit)、分支(branch)、推送(push)、拉取(pull,这个部分没看,暂时用不到)等,可以从Git官网获取git-cheat-sheet。
1.3 Tips
以上内容转自廖雪峰老师的Git教程,非常值得学习了解!Git教程
2.安装nodeJS
Hexo是基于nodeJS编写的,所以需要安装nodeJs和里面的npm工具。
Windows: nodejs选择LTS版本即可,Linux安装自行百度。
安装完后,打开命令行
node -v
npm -v
检查有没有安装成功。
- windows在git安装完成后,之后建议不用自带的cmd,直接使用git bash敲命令行更方便,因为Git本身就是用于服务Linux的,很多Linux命令能在bash中直接使用。
- 以后要打开配置文件,或者txt文本文档时,避免使用Windows自带的记事本,养成用Vscode打开修改的习惯。
- 若要创建文档,直接在git bash中
vi example.xyz
;若要创建文件夹,除了文件管理器创建 ,也可以mkdir example
。
3.安装Hexo
3.1安装Hexo
创建一个文件夹blog,在这个文件夹下直接右键打开git bash,输入命令安装hexo:
npm install -g hexo-cli
3.2初始化Hexo
使用以下命令初始化Hexo,其中myblog是自己随意取的名字:
hexo init myblog
3.3npm install
- "npm install" 是Node Package Manager (npm)的一个命令,用于在项目中安装所需的依赖包。它会读取项目目录中的 "package.json" 文件,并从 npm registry 下载定义的依赖包。在项目中使用依赖包的代码之前,通常需要先运行 "npm install" 命令。
接着进入myblog文件夹,安装依赖包:
cd myblog
npm install
新建完成后,指定文件夹目录下(myblog即为博客根目录)有:
- node_modules: 依赖包
- public:存放生成的页面
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 站点配置文件
3.4打开Hexo的服务
hexo g //生成静态网页
hexo server //打开本地服务站点
在浏览器输入localhost:4000就可以看到生成的博客了,里面默认会有hello world这篇文章。
- 使用ctrl+c可以关掉本地服务。
- hexo是一款静态框架,即我们在本地编写完文章后使用hexo g生成静态网页,然后将之部署到服务器上。
- 下面部署到github page上,以便大家可以访问。
4.Github创建个人仓库
如果没有Github账号,注册一个,登录。
创建一个和你用户名相同的仓库,