GitHub リポジトリから単一のフォルダまたはディレクトリをダウンロードする 質問する

GitHub リポジトリから単一のフォルダまたはディレクトリをダウンロードする 質問する

GitHub でホストされているリモート Git リポジトリから特定のフォルダーまたはディレクトリのみをダウンロードするにはどうすればよいですか?

サンプルの GitHub リポジトリがここにあるとします。

[email protected]:foobar/Test.git

ディレクトリ構造:

Test/
├── foo/
│   ├── a.py
│   └── b.py
└── bar/
    ├── c.py
    └── d.py

fooフォルダーのみをダウンロードし、Test プロジェクト全体を複製したくない。

ベストアンサー1

2021 年 4 月更新: コミュニティによって作成された、これを実行できるツールがいくつかあります。

注: 大量のファイルをダウンロードする場合は、レート制限を回避するためにこれらのツールにトークンを提供する必要がある場合があります。


オリジナル(手動)アプローチ:個々のディレクトリのチェックアウトはGitではネイティブにはサポートされていませんが、GitHubでは次のように実行できます。転覆(SVN)。Subversion を使用してコードをチェックアウトすると、GitHub は基本的にバックエンドでリポジトリを Git から Subversion に変換し、要求されたディレクトリを提供します。

この機能を使って特定のフォルダをダウンロードする方法を説明します。人気のJavaScriptライブラリを使用します。ロダシュ例として。

  1. ダウンロードしたいフォルダに移動します。ブランチ/testからダウンロードしてみましょうmaster

    GitHub リポジトリ URL の例

  2. subversion の URL を変更しますtree/master。を に置き換えますtrunk

    https://github.com/lodash/lodash/tree/master/test

    https://github.com/lodash/lodash/trunk/test

  3. フォルダーをダウンロードします。コマンド ラインに移動し、SVN を使用してフォルダーを取得します。

    svn checkout https://github.com/lodash/lodash/trunk/test
    

GitHub では大きなリポジトリの変換に最大 30 秒かかるため、すぐにアクティビティが表示されない場合がありますので、しばらくお待ちください。

完全な URL 形式の説明:

  • masterブランチに興味がある場合は、trunk代わりにを使用してください。したがって、完全なパスは次のようになります。trunk/foldername
  • fooブランチに興味がある場合は、branches/foo代わりに を使用してください。完全なパスは次のようになります。branches/foo/foldername
  • プロのヒント:svn lsダウンロードする前に、利用可能なタグとブランチを確認することができます。

以上です!GitHubより多くのSubversion機能をサポート変更のコミットとプッシュのサポートも含まれます。

おすすめ記事