1. hexo博客与github

1.1 博客创建流程

  1. 创建仓库 xxxx.github.io

  2. 创建两个分支 master 和 hexo

  3. 设置hexo为默认分支

  4. 使用git clone git@github.com:xxxx/xxxx.github.io 拷贝仓库

  1. 在本地xxxx.github.io文件夹下执行npm install hexo, hexo init, npm install和npm install hexo-deployer-git(当前分支为hexo)

  2. 修改_config.yml中的deploy参数,分支为master

  3. 依次执行git add. , git commit -m “…”, git push origin hexo提交网站文件

  4. 执行hexo g -d 生成网站并部署

(master用于存放生成的静态网页,hexo存放网站原始文件。)

1.2 博客修改后提交

  1. hexo new page “…” 在hexo/source下创建新文件夹,表示新网页
  2. hexo new “….” 在hexo/source/_posts下创建新文章
  3. 依次执行git add ., git commit -m “…”, git push origin hexo 指令将改动推送到github的hexo分支上
  4. 执行hexo g -d发布网站到master分支上

1.3 在他处修改

  1. 使用git clone git@github.com:xxxx/xxxx.github.io 拷贝仓库。
  2. 在本地拷贝的xxxx.github.io文件夹下依次执行如下指令:npm install hexo, npm install, npm install hexo-deployer-git(此时不再需要hexo init)。

2. 一些Git命令

git version 2.12.0.windows.1

  1. 初始化Git仓库:git init

  2. 添加文件:git add

    • git add .git add -A 提交所有变化
    • git add -u 提交被修改的(modified)和被删除的(deleted)文件,不包括新建的(new, untracked)
  3. 提交暂存:git commit -m "XXX"。每次提交都写入commit message特别麻烦(其实我只是想提交以下而已,没什么版本之类的关系:dizzy_face:),然而方法比问题多,一个神奇的网站

    为什么必须先git add然后git commit呢?知乎上有一个解释很好。

  4. git status 命令能展示工作目录和暂存区的状态。使用此命令能够看到哪些修改被暂存,哪些没有,哪些没有tracked。git status 不显示已经commit到项目历史中去的信息。git status -s 查看状态缩略信息。

  5. git diff 查看文档变化。但是暂存后(git add)将不能看到文档变化。

  6. git checkout --file 让这个文件回到最近一次 git commit 或者 git add 时的状态。如果没有 --,就会变成切换分支。总之,想直接丢弃当前工作区的修改,用命令 git checkout --file

  7. git checkout XXXX 切换到分支XXXX。git branch 分支操作,如创建分支、查看分支。

  8. git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用 HEAD 时表示最新的版本。

    • 版本回退:git reset --hard XXXX 回退到版本XXXX。
    • 暂存区回退到工作区:git reset HEAD file。此后可以使用 git checkout --file 丢弃工作区的修改。

3. 本地git使用

1
2
3
4
5
6
7
mkdir XXX
cd XXX
git init
git add .
git commit -m "..."
git remote add origin https://.....
git push -u origin master
1
2
3
git add .
git commit -m "..."
git push origin master