您正在查看: 2017年4月

git submodule 笔记

这次不造轮子,写写文章。file

最近想把自己的 blog 整理到 github 上,但由于其中依赖了一些主题以及插件,这时候 git submodule 就能很好的处理这种情况了。

submodule 是什么?

submodule 顾名思义,子模块。在一个项目依赖其他 git 上的模块时就很有用处了。

以我自己这次修改做例子:
我的 typecho 博客 依赖了 主题 typecho_material_theme插件 Links_for_Material_Theme

那写下来就写写整个过程。

冻手不?冻手file

准备

动手

开始增加子模块(最后为路径)

cd typecho
git submodule add git@github.com:HanSon/typecho_material_theme.git usr/theme/typecho_material_theme
git submodule add git@github.com:HanSon/Links_for_Material_Theme.git usr/theme/Links

这时候应该能看到开始对两个库 clone 中,查看一下 git status , 应该能看到修改的有多了两个库,以及 .gitmodules 的修改

git status

然后我们来提交到 github 中

git commit -am "增加子模块"
git push origin master

这时就已经成功提交到 github 上了,我们来看看 github 上是如何显示 submodule 的

file

可以看到多了两个不一样的图标,点击自动跳转去该仓库的地址(@ 后面代表的是 commit id)

来 pull

git clone https://github.com/HanSon/my-blog.git
cd my-blog

pull 完发现只剩下文件夹,submodule 并没有内容,需要先初始化 submodule 并且 update

git submodule init
git submodule update

这时候就发现 submodule 的内容已经 pull 下来了!

如果更新了 submodule , project 应该如何跟着更新?

  • 按需更新。 去到相对应的 submodule 目录执行 git pull origin master 即可。

  • 简单粗暴,全部更新。git submodule foreach git pull origin master

这次给我的博客加上了播放哈林摇的功能 http://hanc.cc

file

你还可以把上图的 Let's party 拖到书签栏,然后访问你想要摇的网站,点击刚保存的书签进行摇一下。file

PS:上面所述为实操后凭记忆记下来的,如有遗漏欢迎补充
file

cannot open .git/FETCH_HEAD: Permission denied 解决方式

这是因为当初的姿势不正确,导致 .git 文件夹为root用户所属

改回来即可

sudo chown -R $(whoami):admin .git

检测颜值包,基于微软小冰

最近的对比发现微软小冰的颜值检测比较科学,而且还真能识别到一些名人,感觉不错,便做成了一个包

项目地址:https://github.com/HanSon/face

抓包地址:http://kan.msxiaobing.com

例如其中一个效果

file

这个包提供了5个检测的方式

  • 颜值

  • 最受欢迎

  • 买单

  • 穿衣风格

  • 关系

由于原链接有一些是通过 JS 生成的一些标签,所以要显示到图片上还是有点难度,不排除以后实现或不实现。

BTW, 之后会把这个颜值检测加到我的图床上面去 http://img.hanc.cc

使用 ngrok 让外网也能访问本地

开发微信的网页授权时或者给顾客展示开发效果,总需要在访问你的本地开发机,俗称内网穿透,这时候 ngrok 就非常好用了。

这里不讲 ngrok 的原理,大家可以自行了解。

因为本人每次换开发环境都要自己复制一遍 ngrok 以及相关脚本,觉得挺麻烦的,于是开了一个仓库

https://github.com/HanSon/ngrok-script

clone 下来后直接跑脚本即可方便运行 ngrok

git clone https://github.com/HanSon/ngrok-script.git
cd ngrok-script
// if linux or mac
./ngrok.sh domain
// if windows
ngrok.bat domain

domain 是自己设置的域名前缀

例如 sh ngrok.sh hanson

file

这个项目其实没有任何技术含量,只是为了方便自己不再下载 ngrok写脚本这些繁琐的操作。

希望这个能方便到大家。

用 Laravel 写了一个图床网站

file

项目地址: https://github.com/HanSon/img

体验地址: http://img.hanc.cc/

抽了一天时间写了这个基于 https://sm.ms/ 的图床小站,尽管说是用 laravel ,但是后端几乎没有什么工作量,大概也就20行的后端代码,几乎都是前端的工作为主。

前端主要了解了 drag & drop 以及 clipboard 这个库。

纯粹闲的蛋疼

file