복제하지 않고 GitHub에서 호스팅되는 프로젝트의 총 저장소 크기를보고 싶습니다. 가끔 이렇게합니다.
-
일부 GitHub 저장소 복제 시작
객체 수신 : 45 % (218 / 476), 5.50MiB | 27KiB / s
이미 5MB가 소모 되었습니까? 일시 중지 …
^Z
-
일반적인 인터넷 연결을 사용하여 그냥 서버에서 저장소를 복제합니다. 크기를 확인하십시오.
- 로컬 복제를 계속 (또는 중단)하십시오.
사전에 저장소 크기를 확인하려면 어떻게해야합니까? 검색에서는 저장소 크기가 표시되지만 다른 위치에는 표시되지 않습니다.
댓글
- 이 스택 오버플로 질문 .
답변
Github API 사용 :
$ echo https://github.com/hlamer/enki.git | perl -ne "print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!" | xargs -i curl -s -k https://api.github.com/repos/"{}" | grep size "size": 284,
댓글
- Mac에서는 '
-i
매개 변수는xargs
이므로 ' :$ echo https://github.com/hlamer/enki.git | perl -ne 'print $1 if m!([^/]+/[^/]+?)(?:\.git)?$!' | xargs -I{} curl -s -k https://api.github.com/repos/'{}' | grep size
- 그 크기는 … 킬로바이트입니까?
답변
Firefox에서는 GitHub 저장소 크기 부가 기능을 사용할 수 있습니다.
댓글
- 왜 반대 투표인가요? 확장 프로그램 또는 사용자 스크립트가 작동하지 않거나 멀웨어가 포함되어 있습니까?
- 아니요, 모든 것이 정상적으로 작동합니다 …
답변
답변
curl \ -H "Accept: application/vnd.github.v3+json" \ -s https://api.github.com/repos/torvalds/linux | \ jq ".size" | \ numfmt --to=iec --from-unit=1024
설명 :
- curl을 사용하여 github API 에서 저장소 정보 가져 오기
다음과 같은 json 응답을받습니다.
{ "id": 2325298, "node_id": "MDEwOlJlcG9zaXRvcnkyMzI1Mjk4", "name": "linux", "full_name": "torvalds/linux", "private": false, ... "size": 3018913, <<<This is what we need "stargazers_count": 99224, "watchers_count": 99224, ... }
-
json 응답을 jq 파서 로 파이프하고 필요한 속성-값 쌍을 찾습니다.
.
는 json 본문의 루트를 나타내고size
는 필수 속성입니다. 루트 본문에서 추출
출력 (KB 단위의 크기) :
3018913
- 그런 다음 출력을 numfmt
$ man numfmt --to=[UNIT] iec 1K = 1024, 1M = 1048576, ... --from-unit=N specify the input unit size (instead of the default 1) (it basically tells that the input is in kB(1024B) insted of B
로 파이프합니다. 출력 :
2.9G
비공개 저장소의 경우 토큰을 헤더로 전달
-H "Authorization: token GITHUB_TOKEN"
교체 비공개 저장소에 대한 액세스 권한이있는 github 토큰 이있는 GITHUB_TOKEN
https://command-not-found.com/jq
https://command-not-found.com/numfmt
설명
- 이 명령의 기능을 설명해 주시겠습니까? 이 상황에서 어떻게 도움이됩니까? 감사합니다
-
curl
를 사용하여 저장소 메타 데이터를 가져온 다음 " 크기 " 필드에서jq
를 사용한 다음 원시 바이트를numfmt
를 사용하여 사람이 읽을 수있는 파일 크기로 변환합니다.
답변
브라우저 콘솔을 사용하여 실행할 수 있습니다.
fetch("https://api.github.com/repos/[USERNAME]/[REPO]") .then(v => v.json()).then((function(v){ console.log(v["size"] + "KB") }) )
실용적인 예를 들어 보겠습니다.
Firefox를 사용하여 이 저장소 의 크기를 찾고 싶다고 가정합니다.
Ctrl
+ Shift
+ K
를 사용하여 콘솔을 엽니 다.
그런 다음 다음 코드를 붙여 넣으십시오.
fetch("https://api.github.com/repos/goncaloperes/TimeSeries") .then(v => v.json()).then((function(v){ console.log(v["size"] + "KB") }) )
Enter 키를 누르면 아래 이미지에서 볼 수있는 저장소 크기를 받게됩니다.