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に少し加工が必要なので注意すること。
コメント