4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gitリポジトリの一部を指定してclone(ダウンロード)したい場合にdegitが便利

Last updated at Posted at 2022-02-24

degitとは

degitはGitリポジトリ(またはその一部)をローカル環境にダウンロードするためのCLIツールです。

git cloneでよくね?

--depthを使用すれば最新のコミットだけを落とせますし、git clone --filter=blob:none --no-checkoutgit sparse-checkoutでリポジトリの一部を指定して落とせます。

git clone --depth=1 git@github.com:user/repo.git
git clone --filter=blob:none --no-checkout git@github.com:user/repo.git
cd repo
git sparse-checkout init
git sparse-checkout add subdirectory

ただ後述するように、degitではより短いコマンドで簡単にGitリポジトリの一部を指定してダウンロードできます。

インストール

npmでインストールします。

npm install -g degit

使う

基本

GitHubだけでなくGitLab、BitBucket、Sourcehutにも対応しています。

GitHub

GitHubからリポジトリのmaster(main)ブランチを現在の作業ディレクトリにダウンロードするには以下のようなコマンドを使用します。

degit user/repo

また以下のコマンドはすべて同等です。

degit github:user/repo
degit git@github.com:user/repo
degit https://github.com/user/repo

GitLab

degit gitlab:user/repo
degit git@gitlab.com:user/repo
degit https://gitlab.com/user/repo

BitBucket

degit bitbucket:user/repo
degit git@bitbucket.org:user/repo
degit https://bitbucket.org/user/repo

Sourcehut

degit git.sr.ht:user/repo
degit git@git.sr.ht:user/repo
degit https://git.sr.ht/user/repo

リポジトリの一部を指定する

第一引数の末尾にサブディレクトリを追加します。

degit user/repo/subdirectory

タグ、ブランチ、コミットを指定する

省略した場合はデフォルトブランチ(基本的にはmasterまたはmain)になります。

degit user/repo#dev       # branch
degit user/repo#v1.2.3    # release tag
degit user/repo#1234abcd  # commit hash

ダウンロード先を指定する

省略した場合は現在のディレクトリにダウンロードします。

degit user/repo my-new-project

使用例

このリポジトリのmainブランチのclient/android以下が欲しいとします。

以下のコマンドで保存場所をmy-folderに指定して落とすことができます。

degit derrickstolee/sparse-checkout-example/client/android my-folder
cd my-folder
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?