brew升级git版本

1
2
3
4
$ brew doctor
$ brew install git 
$ brew link --overwrite git
Linking /usr/local/Cellar/git/2.19.1... 216 symlinks created

为Pod的库创建演示文件SwiftPlayground

{% github asmallteapot cocoapods-playgrounds c54b492 width = 30% %} issues 62

在playground中优雅的使用Pod

This Could Be Us But You Playing

Build Status

Generates a Swift Playground for any Pod.

Installation

$ gem install cocoapods-playgrounds

Usage

CocoaPods

To generate a Playground for a specific Pod:

1
$ pod playgrounds Alamofire

To generate a Playground for a local development Pod:

1
$ pod playgrounds ../../../Sources/Alamofire/Alamofire.podspec

To generate a Playground with multiple Pods:

在playground中执行异步方法

PLAYGROUND 延时运行引入 Playground 的XCPlayground扩展包框架,其中就包括使 Playground 能延时执行的黑魔法,needsIndefiniteExecution(需要无限期执行)使 Playground 具有延时运行的功能. 在实际使用和开发中,我们最经常面临的异步需求可能就是网络请求了,如果我们想要在 Playground 里验证某个 API 是否正确工作的话,使用 XCPlayground 的这个方法开启延时执行也是必要的:

安装Material主题

Hexo + Material + Github 搭建博客与配置

{% github viosey hexo-theme-material d93c5a8 width = 30% %}

注意! 在主题的开发迭代过程中,主题的配置文件模板 可能会改动。为了避免使用 git pull 更新主题的用户出现冲突,我们将 主题配置文件模板 命名为 _config.template.yml。配置主题时,你应该拷贝一份 _config.template.yml 并将其重命名为 _config.yml

hexo作图插件

1
2
"hexo-filter-flowchart": "^1.0.4",
"hexo-filter-sequence": "^1.0.3",
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#作图插件
sequence:
#  webfont: https://cdnjs.cloudflare.com/ajax/libs/webfont/1.6.27/webfontloader.js
#  snap: https://cdnjs.cloudflare.com/ajax/libs/snap.svg/0.4.1/snap.svg-min.js
#  underscore: https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js
#  sequence: https://cdnjs.cloudflare.com/ajax/libs/js-sequence-diagrams/1.0.6/sequence-diagram-min.js
#  css: # optional, the url for css, such as hand drawn theme
options:
theme: simple
css_class:
flowchart:
# raphael:   # optional, the source url of raphael.js
# flowchart: # optional, the source url of flowchart.js
options: # options used for `drawSVG`

博客生成restful风格的json数据源

hexo-generator-restful

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
## API接口:以下为默认配置,属性值为 false 表示不生成。
restful:  #http://npm.taobao.org/package/hexo-generator-restful
# site 可配置为数组选择性生成某些属性
# site: ['title', 'subtitle', 'description', 'author', 'since', email', 'favicon', 'avatar']
site: false        # hexo.config mix theme.config
posts_size: 10    # 文章列表分页,0 表示不分页
posts_props:      # 文章列表项的需要生成的属性
title: false
slug: false
date: false
updated: false
comments: false
path: false
excerpt: false
cover: false      # 封面图,取文章第一张图片
content: false
keywords: false
categories: false
tags: false
categories: false  # 分类数据
tags: false        # 标签数据
post: false        # 文章数据
pages: false      # 额外的 Hexo 页面数据, 如 About

git-lfs命令工具使用

{% github git-lfs git-lfs 45c4568 width = 30% %} git-lfs官网 LFS其实是git的一个扩展,并没有改变git的工作方式,有点像耍了个小花招,把指定需要lfs管理的文件替换成了一个指针文件交给git进行版本管理; 在pull/push等这些操作中,lfs又通过lfs服务器把这些文件的真身给下载或上传回来; 通过这样的手段,使得本地仓库的体积大大减小,而不会出现随着这些文件的版本增多而体积剧烈膨胀的情况; 个人觉得这种把存储负担转移给了服务器的做法,是不是有违git去中心化的理念,毕竟lfs这样做其实算是强依赖于这个lfs服务器了,本地仓库并不是一个完整的仓库

gist命令工具使用

{% github defunkt gist 8d86604 width = 30% %} 按照gist

安装gist

1
brew install gist

创建gist

上传a.rb中的代码段:

1
gist a.rb

上传多个文件a.rb,b.rb,c.rb的代码段:

1
2
gist a b c
gist *.rb

作为文件上传:获取STDIN数据,并使用-f指定文件名test.rb上传:

subtree拆分大的git库到多个独立git库

Git 仓库拆拆拆

拆分一个子目录为独立仓库

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 这就是那个大仓库 big-project
$ git clone git@github.com:tom/big-project.git
$ cd big-project

# 把所有 `codes-eiyo` 目录下的相关提交整理为一个新的分支 eiyo
$ git subtree split -P codes-eiyo -b eiyo

# 另建一个新目录并初始化为 git 仓库
$ mkdir ../eiyo
$ cd ../eiyo
$ git init

# 拉取旧仓库的 eiyo 分支到当前的 master 分支
$ git pull ../big-project eiyo

清除一个子目录下所有内容和记录

这个还是要用万能的 filter-branch

zsh插件之gi使用说明

{% github joeblau gitignore.io a09921d width = 30% %}

配置zsh支持插件gi命令

  1. 先浏览oh-my-zsh/plugins目录下支持所有插件,找到gi命令的插件名称:gitignore,即目录名称。
  2. gitignore添加到zshrc.zsh-template的插件激活的清单中:
1
2
# 插件设置,如果添加太多启动速度会比较慢
plugins=(git gitignore ruby autojump osx mvn)

gi清单命令使用

再次打开zsh窗口会激活gi命令