GitHubリポジトリからサブディレクトリだけダウンロードする方法

GitHubはOSSの利用で近頃すっかりお馴染のサイトだが、大規模プロジェクトのリポジトリから一部のサブディレクトリだけをダウンロードしたい時がある。そんな時に役立つ方法をまとめた。

スポンサーリンク

Subversionを使う

gitにはサブディレクトリだけをダウンロードする機能が実は無い。しかし、GitHubはgitだけでなく一昔前のバージョン管理システムであるSubversionにも対応しており、Subversionを使えばサブディレクトリだけのダウンロードが可能。

UbuntuであればSubversionは下記コマンド一発でインストールが可能だ。

sudo apt install subversion

URLを少し加工してsvn exportする

Subversionならサブディレクトリをダウンロード出来ると言っても、ブラウザ表示のURLと同じ物を与えてもダメで少し加工が必要。法則は、

  • “tree/master”を”trunk”に置き換える

これだけだ。

例えば、

  • https://github.com/micropython/micropython

上記GitHubプロジェクトから以下のサブディレクトリだけダウンロードしたい場合、

  • https://github.com/micropython/micropython/tree/master/drivers/display

URLの置き換え法則は以下の通り。

ページ

そして置き換えたURLでsvn exportを実行すれば、サブディレクトリ”display”だけをダウンロード出来る。

svn export https://github.com/micropython/micropython/trunk/drivers/display

まとめ

大規模プロジェクトをgit cloneで全部ダウンロードして必要な所だけコピー…なんてやってたのが、svn exportコマンド一行でGitHubサブディレクトリを持って来れる。但し、ブラウザで表示されるURLに少し加工が必要なので注意すること。

コメント