TL;DR

Git リポジトリの最新のコミットだけをコピーするコマンド。degit をコミュニティがフォークしたもので、巨大なリポジトリから一部のディレクトリだけを取得するときなどに使う。

なぜ必要か

git clone と違って Git の履歴をダウンロードしないので、速い。テンプレートからプロジェクトを作るとき、git clone ではテンプレートの履歴を持った .git が残り、作り直す必要がある。tiged ではそれが残らない。

degit は長い間リリースがなく、プルリクエストにも反応がなかった。tiged は、コントリビューションを取り込み、依存関係を更新し続けるためにフォークされた。

仕組み

tiged some-user/some-repo を実行すると、GitHub 上のそのリポジトリの最新のコミットを探し、対応する tar ファイルを ~/.degit/some-user/some-repo/<コミットハッシュ>.tar.gz にダウンロードする。ローカルにすでにあれば、ダウンロードしない。後方互換のため、degit コマンドとしても動く。

例

# main ブランチを repo という名前のディレクトリにコピーする
tiged user/repo
 
# サブディレクトリだけをコピーする
tiged user/repo/subdirectory
 
# ブランチ、タグ、コミットを指定する
tiged user/repo#dev
tiged user/repo#v1.2.3
tiged user/repo#1234abcd

bun + Vite + Elm で環境構築でも使った。

関連

出典