GitHub リポジトリの特定ディレクトリ以下をダウンロードする方法

ある GitHub リポジトリの、src/ ディレクトリ以下のファイルのみダウンロードしたいな、といった時のやり方。

コレは、svn コマンドが提供する、svn export というコマンドを使うと実現できる。

master ブランチからダウンロードする時

例えば、

配下のファイルのみダウンロードしたい時。

svn コマンドを使うので、GitHub URL 中の tree/master および blob/master 部分を trunk に置換して、

という URL にしてから、

$ svn export https://github.com/Neos21/bootstrap3-glyphicons/trunk/dist

と叩くと、その配下のファイルがダウンロードできる。

URL 置換を忘れそうなので、以下のような Bash 関数にしちゃうと良いかも。

function dlgh() {
  svn export $(echo "$1" | sed -e 's:tree/master:trunk:' -e 's:blob/master:trunk:')
}

master 以外のブランチからダウンロードする時

master 以外のブランチ名を指定する際は、GitHub URL 中の

部分を

と置換する必要がある。なかなかめんどい。