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
한 가지 방법은 다음과 같습니다.
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
웹 서버가 해당 디렉터리를 보고 파일을 제공할 수 있도록 해당 디렉터리가 귀하의 디렉터리 아래에 있어야 합니다.
더 긴 버전 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
또한 이는 최대 한 디렉터리 깊이의 파일에만 작동한다는 점에 유의해야 합니다. 더 많은 디렉토리가 있다면 이를 통해 어떻게 드릴다운할 수 있는지 알 수 있을 것입니다. 하지만 이로 인해 머리가 아프기 시작했습니다.