gitbush的学习笔记整理。也可以参考:https://baoyuzhang.github.io/ 里面有个(一)(二)(三)。此处的命令是根据里面的学习形成的学习记录。
(一)基础部分
命令格式 |
含义内容 |
cd “” |
文件夹名字 |
hexo init |
初始化当前文件夹为版本库 |
hexo g |
即生成静态文件,会更新到 public 文件夹中 |
hexo s |
开启内部预览 |
hexo d |
布署到远端服务器 |
CTRL+C |
退出当前进程 |
pwd |
显示当前目标 |
ping github.com |
获取IP地址 |
(二) 库内的文件操作版本回退
命令格式 |
操作 |
git add file |
将file添加到暂存区 |
git commit -m “提交说明” |
将暂存区中所有文件提交到仓库 |
git status |
查看当前目录中是否有文件未提交 |
git diff file |
查看file文件修改内容,注意只能是库内的文件 |
git log |
查看历史记录 |
git log –pretty=oneline |
查看历史记录(简洁版) |
git reset –hard HEAD^ |
退回到上个版本 |
git reset –hard HEAD^^ |
退回到上上个版本 |
git reset –hard HEAD~100 |
退回到前100个版本 |
git reflog |
获取全部版本号,可以根据版本号来回退 |
git reset –hard 版本号 |
退回到版本号的版本 |
cat file |
查看文件内容 |
备注:版本是针对库的。并且认提交动作,而不认修改动作。如果修改了N次并提交,那只认一次,也就是会只有一个版本。
(三)文件/章的增删改撤恢复
#丢弃file文件在工作区的修改(工作区-暂存区-版本库,回到上一阶段的修改)a.工作区修改后没有add到暂存区:回到和版本库一样的状态;b.工作区修改后add到暂存区后又有修改:回到添加暂存区后的状态。也就是优先级为:暂存区 > 版本库 。文件恢复 | 如果没有–,则为创建分支命令好
删除工作区中的file文件
a.想要删除版本库中的file文件:直接commit掉;
b.想要从版本库中删除file文件:git checkout – file
要删除版本库中的文件,可以先在工作区删掉git checkout再git commit提交;a中者直接
1
| touch file #新建文件,在文件夹下面新建一个文件
|
1
| hexo new "文章名" #会新建一篇文章,带有既定格式的,而非单纯的建一个文件.此命令只要主库-_posts中生成新文件
|
(四) 关于分支
1 2
| git branch #创建分支 git checkout #切换分支
|
(五)关于主题的
1 2
| #更新next主题 git clone https://github.com/theme-next/hexo-theme-next themes/next-reloaded
|
(六)升级HEXO包
1 2 3 4 5 6 7 8 9 10
| npm install -g npm-check #下载 npm-check #检查版本 npm install -g npm-upgrade #更新 npm update <name> -g #更新全局包 npm update <name> --save #更新生产环境依赖包 save参数:npm install X –save: 会把X包安装到node_modules目录中 会在package.json的dependencies属性下添加X 之后运行npm install命令时,会自动安装X到node_modules目录中 如果不加save参数的话,之后把X包安装到node_modules目录中,不会添加到 dependencies文件中。再查看hexo文件夹下面的dependencies文件,可以看到hexo的版本已经更新了。
|
(七)页面小工具
1 2
| < !-- more --> #放在文中合适的地方,可以截断页面
|
设置文章不在首页显示(我用的是新版next主题)
1、在文章头新建一个变量:notshow。也可以在post模板中改,以后可以自动生成
1 2
| title: 这是文章标题 notshow: true
|
2、在主题文件夹下,layout\index.swig,定位到post代码块:
增加一个if条件,有批注的两行是我修改的
1 2 3 4 5 6 7
| <div class="posts-expand"> {%- for post in page.posts.toArray() %} {% if post.notshow != true %} #增加了一个条件,判断是否在首页显示 {{ partial('_macro/post.swig', {post: post, is_index: true}) }} {% endif %} #结束if {%- endfor %} </div>
|
配置简写命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| git config --global -e [alias] st = status co = checkout br = branch mg = merge ci = commit md = commit --amend dt = difftool mt = mergetool last = log -1 HEAD cf = config line = log --oneline latest = for-each-ref --sort=-committerdate --format='%(committerdate:short) %(refname:short) [%(committername)]'
ls = log --pretty=format:\"%C(yellow)%h %C(blue)%ad %C(red)%d %C(reset)%s %C(green)[%cn]\" --decorate --date=short hist = log --pretty=format:\"%C(yellow)%h %C(red)%d %C(reset)%s %C(green)[%an] %C(blue)%ad\" --topo-order --graph --date=short type = cat-file -t dump = cat-file -p
|