大きなGitリポジトリをcloneすると時間がかかります.最新のものだけが欲しい場合は --depth
オプションがありますが,リポジトリの一部のディレクトリ以下だけが欲しい時には使えません.そういうときにGitHub cloneを使うと,特定のディレクトリ以下だけをダウンロードできて便利そうです.
少し試してみました.
$ pip3 install git+git://github.com/HR/github-clone#egg=ghclone (1)
$ ghclone (2)
Usage:
ghclone <url> [-t | --token=<token>]
ghclone (-h | --help)
ghclone (-v | --version)
$ ghclone https://github.com/torvalds/linux/tree/master/tools/usb/usbip (3)
Cloning into 'usbip'...
done.
$ cd usbip
$ ls -A (4)
.gitignore AUTHORS COPYING INSTALL Makefile.am README autogen.sh cleanup.sh configure.ac doc libsrc src vudc
$ git status (5)
fatal: not a git repository (or any of the parent directories): .git
$ cd ..
$ ghclone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/usb (6)
Invalid GitHub URI
- pipで導入する(もしPATHが通ってなければ
~/.local/bin
を加える) - USAGE
- Linux Kernelの一部だけをダウンロード
- ダウンロード内容確認
- Git管理はされていない
- GitHub以外のGitリポジトリに対して実行すると失敗する
GitHub.comのAPIを利用しているのでGitHub.com以外では使えませんが便利そうです.
似たものにBitBacketで同様のことができる,「bb-clone」というものもあるようです.
環境
$ ghclone -v 1.2.0 $ dpkg-query -W git python3-pip python3 git 1:2.20.1-2+deb10u3 python3 3.7.3-1 python3-pip 18.1-5+rpt1 $ lsb_release -dr Description: Raspbian GNU/Linux 10 (buster) Release: 10 $ uname -a Linux raspberrypi 5.10.11-v7+ #1399 SMP Thu Jan 28 12:06:05 GMT 2021 armv7l GNU/Linux $ cat /proc/device-tree/model ;echo Raspberry Pi 3 Model B Rev 1.2