7C00.ME/houmu 2014-06-01

导出全部gist

一般这种需求出现的情况比较少,但是如果出现的话,可以这么做:

0 创建工作目录

mkdir gist-export
cd gist-export

1 安装API工具node-github

npm install github

2 获得gist列表,创建 gist.js,代码为:

var GithubApi = require("github");

var github = new GithubApi({
    version : "3.0.0",
});

github.authenticate({
    type: "basic",
    username: 'USERNAME',
    password: 'PASSWORD',
});

github.gists.getAll({}, function(err, res){
    res.forEach(function(e,i){
        console.log(e.html_url);
    });
});

3 创建 gist.sh,代码为:

#!/bin/bash

for line in `cat 1.txt`
do
    url="${line}.git"
    echo "fetching $url ..."
    git clone $url
done

4 执行下面的命令

node gist.js > 1.txt
bash gist.sh

这样全部Gist就导出了。