質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

2933閲覧

githubでcloneせずに、リモートリポジトリから特定のフォルダのみローカルリポジトリに取り込む方法

Kiyobun510

総合スコア12

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2020/05/30 14:11

こちらのリポジトリのsample_apps/6_0_0/ch12/ というフォルダのみローカルリポジトリに取り入れるために、こちらのサイトを参考にしていろいろやってみたのですがうまくいきません。

上記のサイトの4行目にある

echo 目的のフォルダ > .git/info/sparse-checkout

↑のファイルのパスの書き方が間違っているんだと思いますが何を試してもダメです。

error: Sparse checkout leaves no entry on working directory

といわれてしまいます。

かれこれ2時間ほど格闘しているのですがギブアップです。
環境はCloud9です。

どなたかご教授いただければ幸いです。

#試したこと
sample_apps/6_0_0/ch12/ とかいろんなパスの書き方をしたのですが全部だめでした↓

gitbash

1sano:~/environment/sample_app_2 $ git init 2Initialized empty Git repository in /home/ubuntu/environment/sample_app_2/.git/ 3sano:~/environment/sample_app_2 (master) $ git config core.sparsecheckout true 4sano:~/environment/sample_app_2 (master) $ git remote add origin https://github.com/yasslab/sample_apps.git 5sano:~/environment/sample_app_2 (master) $ echo yasslab/sample_apps/tree/master/6_0_0/ch12 > .git/info/sparse-checkout 6sano:~/environment/sample_app_2 (master) $ git pull origin master 7remote: Enumerating objects: 592, done. 8remote: Counting objects: 100% (592/592), done. 9remote: Compressing objects: 100% (331/331), done. 10remote: Total 4847 (delta 311), reused 475 (delta 244), pack-reused 4255 11Receiving objects: 100% (4847/4847), 8.92 MiB | 4.99 MiB/s, done. 12Resolving deltas: 100% (2188/2188), done. 13From https://github.com/yasslab/sample_apps 14 * branch master -> FETCH_HEAD 15 * [new branch] master -> origin/master 16error: Sparse checkout leaves no entry on working directory 17sano:~/environment/sample_app_2 (master) $ echo /sample_apps/tree/master/6_0_0/ch12 > .git/info/sparse-checkout 18sano:~/environment/sample_app_2 (master) $ git pull origin masterFrom https://github.com/yasslab/sample_apps 19 * branch master -> FETCH_HEAD 20error: Sparse checkout leaves no entry on working directory 21sano:~/environment/sample_app_2 (master) $ echo sample_app_2 > .git/info/sample_apps/6_0_0/ch12/ 22bash: .git/info/sample_apps/6_0_0/ch12/: No such file or directory 23sano:~/environment/sample_app_2 (master) $ echo sample_app_2 > .git/info/yasslab/sample_apps/tree/master/6_0_0/ch12 24bash: .git/info/yasslab/sample_apps/tree/master/6_0_0/ch12: No such file or directory 25sano:~/environment/sample_app_2 (master) $ echo sample_app_2 > .git/info/master/6_0_0/ch12 26bash: .git/info/master/6_0_0/ch12: No such file or directory 27sano:~/environment/sample_app_2 (master) $ echo sample_app_2 > .git\info\sparse-checkout ch12 28sano:~/environment/sample_app_2 (master) $ git pull origin master 29From https://github.com/yasslab/sample_apps 30From https://github.com/yasslab/sample_apps 31 * branch master -> FETCH_HEAD 32error: Sparse checkout leaves no entry on working directory 33sano:~/environment/sample_app_2 (master) $ echo sample_app_2 > .git\info\sparse-checkout yasslab/sample_apps/6_0_0/ch12/ 34sano:~/environment/sample_app_2 (master) $ git pull origin master 35From https://github.com/yasslab/sample_apps 36 * branch master -> FETCH_HEAD 37error: Sparse checkout leaves no entry on working directory 38sano:~/environment/sample_app_2 (master) $ echo /ch12 > .git\info\sparse-chec 39kout 40sano:~/environment/sample_app_2 (master) $ git pull origin master 41From https://github.com/yasslab/sample_apps 42 * branch master -> FETCH_HEAD 43error: Sparse checkout leaves no entry on working directory 44sano:~/environment/sample_app_2 (master) $ echo https://github.com/yasslab/sample_apps/tree/master/6_0_0/ch12 > .git\info\sparse-checkout 45sano:~/environment/sample_app_2 (master) $ git pull origin master 46From https://github.com/yasslab/sample_apps 47 * branch master -> FETCH_HEAD 48error: Sparse checkout leaves no entry on working directory 49sano:~/environment/sample_app_2 (master) $ 50

ご返答お待ちしております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Gitは使わず、GitHubからZipダウンロードして必要なフォルダだけ取り出す、ということをやってはどうでしょうか?

投稿2020/05/30 14:27

maisumakun

総合スコア145930

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kiyobun510

2020/05/30 14:52 編集

ご回答ありがとうございます。 その方法は盲点でした。 とりあえずそのようにしたらできました。ありがとうございます。 しかし、一度すべてをダウンロードせずにやる方法も知りたいのでこのまま回答募集したいと思います。
guest

0

ベストアンサー

echo 目的のフォルダ > .git/info/sparse-checkout

ローカルリポジトリのinfoフォルダの中にテキストエディタで、sparse-checkoutというファイルを開き、「目的のフォルダ」を追記すればいいです

投稿2020/05/30 14:20

y_waiwai

総合スコア88024

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kiyobun510

2020/05/30 14:29

迅速な回答ありがとうございます。 sparse-checkoutというファイルに ch12 と書けばいいのでしょうか? /sample_apps/tree/master/6_0_0/ch12 とか /sample_apps/6_0_0/ch12 とかいろいろ書いて保存した後に $ git push origin master しているのですがエラーになります。 書き方を教えていただけないでしょうか。
Daregada

2020/05/30 16:34

GitHubの該当リポジトリを見て、一覧表示されているフォルダーから始まる相対パスを指定すればいいのでは。「6_0_0/ch12」とか
Kiyobun510

2020/06/05 09:41

返答遅くなり申し訳ございません。 いろいろなことを試しすぎてパニックになってました。 無事うまくきました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問