복제하지 않고 GitHub에서 호스팅되는 프로젝트의 총 저장소 크기를보고 싶습니다. 가끔 이렇게합니다.

  1. 일부 GitHub 저장소 복제 시작

    객체 수신 : 45 % (218 / 476), 5.50MiB | 27KiB / s

    이미 5MB가 소모 되었습니까? 일시 중지 …

    ^Z 
  2. 일반적인 인터넷 연결을 사용하여 그냥 서버에서 저장소를 복제합니다. 크기를 확인하십시오.

  3. 로컬 복제를 계속 (또는 중단)하십시오.

사전에 저장소 크기를 확인하려면 어떻게해야합니까? 검색에서는 저장소 크기가 표시되지만 다른 위치에는 표시되지 않습니다.

댓글

답변

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 저장소 크기 부가 기능을 사용할 수 있습니다.

github 정보 표시 줄

댓글

  • 왜 반대 투표인가요? 확장 프로그램 또는 사용자 스크립트가 작동하지 않거나 멀웨어가 포함되어 있습니까?
  • 아니요, 모든 것이 정상적으로 작동합니다 …

답변

Google Chrome 브라우저를 사용하고이 확장 프로그램 을 설치합니다.

홈 페이지에 저장소 크기를 추가합니다.

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 

설명 :

  1. 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, ... } 
  1. json 응답을 jq 파서 로 파이프하고 필요한 속성-값 쌍을 찾습니다.

    .는 json 본문의 루트를 나타내고 size는 필수 속성입니다. 루트 본문에서 추출

출력 (KB 단위의 크기) :

3018913 
  1. 그런 다음 출력을 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 키를 누르면 아래 이미지에서 볼 수있는 저장소 크기를 받게됩니다.

여기에 이미지 설명 입력

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다