背景
昨天继续部署hexo的时候发现自己使用的主题fexo在Github上有新的commit,于是想对主题进行升级。
更新仓库文件
查看fexo文件夹
|
|
.
├── _config.yml
├── gulpfile.js
├── languages
├── layout
├── LICENSE
├── package.json
├── README.md
├── scripts
├── source
└── yarn.lock
直接使用git pull命令发现_config.yml因被修改过而引起冲突,不能直接将仓库进行pull更新,上网搜索“hexo更新主题”,发现了git stash命令。
-
使用
git stash将修改入栈,即执行命令后_config.yml变成了该版本对应文件的最初始状态(因为我在修改_config.yml之后未进行追踪和提交,所以git stash后变成最初始状态)。1$ git stash -
此时执行
git status发现没有任何更改。执行git pull更新仓库。1$ git pull -
执行
git stash pop将已经入栈的被修改文件出栈到当前文件夹,即完成了保留_config.yml文件的修改,并更新了其他文件的效果。此时栈为空。1$ git stash pop
关于git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
git stash save "test1"
作用同git stash,save会指定一个名称,drop命令可以根据名称删除对应内容。
tash@{0}: On master: test1
git stash list
查看当前stash中的内容。
git stash pop
当前stash中的最后进入的内容出栈,并应用到当前分支对应的工作目录上。 注:该命令将堆栈中最近保存的内容删除(栈是先进后出)。
git stash apply
恢复stash中的修改,但与pop不同的是,apply从栈中删除内容。
git stash drop "test1"
stash栈中删除名为"test1"的内容。
git stash clear
清除stash栈中的所有内容。
git stash show
显示stash栈中的所有内容。
插一句:解决git中文乱码
|
|
再插一句
github-production-release-asset-2e65be.s3.amazonaws.com国内是访问不了的,wget和curl都不能下载到内容,可绑定ip试试。
52.216.20.147 github-production-release-asset-2e65be.s3.amazonaws.com