以下の内容はhttps://devlights.hatenablog.com/entry/2025/09/05/073000より取得しました。


gitで一部のファイルやディレクトリのみをチェックアウトする(2) (git clone, --sparse, --filter, --no-checkout, --depth)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。

以前に sparse-checkout についてのメモを書いていたのですが

devlights.hatenablog.com

もう少し楽な方法もあったので、忘れないうちにここにメモメモ。。。

git clone時に --sparse オプションを付与することも出来るのですね。

試してみる

サンプルとして利用するのは自分のリポジトリとします。

# git clone 時に --sparse オプションを付与することで git sparse-checkout init した状態でクローン出来る
$ git clone --filter=blob:none --no-checkout --depth=1 --sparse https://github.com/devlights/try-golang.git
$ cd try-golang
$ tree .
.

0 directories, 0 files

# 後は sparse-checkout [set|add] で欲しい部分のみを部分チェックアウト
$ git sparse-checkout add cmd
$ git checkout main
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 15 (delta 1), reused 8 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (15/15), 9.06 KiB | 9.06 MiB/s, done.
Resolving deltas: 100% (1/1), done.
Already on 'main'
Your branch is up to date with 'origin/main'.

$ tree .
.
├── Dockerfile
├── LICENSE
├── README.md
├── Taskfile.yml
├── Taskfile_linux.yml
├── Taskfile_windows.yml
├── cmd
│   └── try-golang
│       ├── args.go
│       ├── main.go
│       └── root.go
├── go.mod
└── go.sum

3 directories, 11 files

参考情報

git-scm.com


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。




以上の内容はhttps://devlights.hatenablog.com/entry/2025/09/05/073000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14