GitHubプロジェクトのすべてのファイルをダウンロードする方法はwget
?
すべてのファイルは元の形式でダウンロードする必要があります。
すでに試しました:
wget -P ~/ https://raw.githubusercontent.com/u/p/b/*
wget -P ~/ https://raw.githubusercontent.com/u/p/b/{*}
wget -P ~/ --accept-regex urlregex https://raw.githubusercontent.com/u/p/b/*
wget -P ~/ --recursive https://raw.githubusercontent.com/u/p/b/
これは以下に関連しています。wget -P ~/ https://raw.githubusercontent.com/u/p/b/{file1,file2...}
u =ユーザー、p =プロジェクト、b =分岐。
答え1
1つの方法は次のとおりです。
wget -P ~/ https://github.com/u/p/a/master.zip
unzip ~/master.zip
ここに別のものがあります:
cd
wget https://github.com/u/p/a/master.zip
unzip master.zip
u =ユーザー、p =プロジェクト、a =アーカイブ。
答え2
ショートバージョン:できません。
より長いバージョン1:git作業ディレクトリを複製する場合は、$WEBROOT
Webサーバーがそのディレクトリを表示してファイルを提供できるように、そのディレクトリがあなたのディレクトリの下にある必要があります。
より長いバージョン2:複製しようとしている場合ない git
リポジトリには、これらのファイルは実際には元の形式で存在しません。これはプロジェクトオブジェクトデータベースのエントリです。
最高のアイデア:
git clone http://...
答え3
これはリポジトリで私にとって効果的でしたが、次のツールが必要です。json
(jqに似ています)私はこれをお勧めしませんgit clone
。
#!/bin/bash
MY_REPO='/jessebutryn/wtfisbash'
GIT_API='https://api.github.com/repos'
GIT_URI='/contents'
CURL_OPTS=(
-X
GET
)
REPO_DIRS=($(curl "${CURL_OPTS[@]}" "${GIT_API}${MY_REPO}${GIT_URI}" \
| json -a -c "type === 'dir'" name))
REPO_FILES=($(curl "${CURL_OPTS[@]}" "${GIT_API}${MY_REPO}${GIT_URI}" \
| json -a -c "type === 'file'" download_url))
for dir in "${REPO_DIRS[@]}"; do
REPO_FILES+=($(curl "${CURL_OPTS[@]}" "${GIT_API}${MY_REPO}${GIT_URI}/${dir}" \
| json -a -c "type === 'file'" download_url))
done
for file in "${REPO_FILES[@]}"; do
wget -P ./ "${file}"
done
また、これは可能な限りディレクトリ深度のファイルでのみ機能することに注意してください。より多くのディレクトリがある場合は、どのようにドリルダウンできるかを知ることができます。しかし、これによって頭が痛み始めました。