GitHub でホストされているリモート Git リポジトリから特定のフォルダーまたはディレクトリのみをダウンロードするにはどうすればよいですか?
サンプルの GitHub リポジトリがここにあるとします。
[email protected]:foobar/Test.git
ディレクトリ構造:
Test/
├── foo/
│ ├── a.py
│ └── b.py
└── bar/
├── c.py
└── d.py
fooフォルダーのみをダウンロードし、Test プロジェクト全体を複製したくない。
ベストアンサー1
2021 年 4 月更新: コミュニティによって作成された、これを実行できるツールがいくつかあります。
- ダウンロードディレクトリ(クレジット:フレガンテ)
- また、統合された優れた改良されたGitHubGitHub Web ユーザー インターフェースのボタンとしての Chrome 拡張機能。
- ジットジップ(クレジット:キノ—彼の答えを見るここ)
- ダウンギット(クレジット:ミンハス・カマル—彼の答えを見るここ)
注: 大量のファイルをダウンロードする場合は、レート制限を回避するためにこれらのツールにトークンを提供する必要がある場合があります。
オリジナル(手動)アプローチ:個々のディレクトリのチェックアウトはGitではネイティブにはサポートされていませんが、GitHubでは次のように実行できます。転覆(SVN)。Subversion を使用してコードをチェックアウトすると、GitHub は基本的にバックエンドでリポジトリを Git から Subversion に変換し、要求されたディレクトリを提供します。
この機能を使って特定のフォルダをダウンロードする方法を説明します。人気のJavaScriptライブラリを使用します。ロダシュ例として。
ダウンロードしたいフォルダに移動します。ブランチ
/test
からダウンロードしてみましょうmaster
。subversion の URL を変更します
tree/master
。を に置き換えますtrunk
。https://github.com/lodash/lodash/tree/master/test
➜https://github.com/lodash/lodash/trunk/test
フォルダーをダウンロードします。コマンド ラインに移動し、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機能をサポート変更のコミットとプッシュのサポートも含まれます。