GitHub 리포지토리를 통계하는 명령줄 도구
프레임워크에 대한 연구를 수행할 때 Google에서 관련 키워드를 검색하여 결과를 얻은 다음 GitHub에서 적절한 주제를 확인하여 올바른 프레임워크를 선택하게 될 것입니다. 나는 대부분의 사람들이
프레임워크를 선택할 때 단순히 사용하는 것이 아니라 리포지토리의 일부 메트릭을 보고 선택하거나 여러 프레임워크를 비교할지 여부를 결정합니다.
머리말
스타 트렌드에 대한
star-history
와 같은 일부 웹 비교 도구가 커뮤니티에 이미 있다는 것을 알고 있지만 끝점에서 GitHub 리포지토리를 비교하는 데 사용할 수 있는 도구는 없습니다.리포지토리를 볼 때 일반적으로 안정적인지 여부를 확인하기 위해 다음 메트릭을 살펴봅니다.
Golang 마이크로서비스 프레임워크를 예로 선택하여 현재 커뮤니티에서 더 많이 사용되는 프레임워크를 비교해 보겠습니다.
도구를 사용하기 전에 관련 데이터를 보기 위해 위의 지표에서 해당 저장소 홈 페이지로 차례로 각 저장소로 이동할 수 있습니다. 이 작업은 지루해 보일 수 있습니다. 일부 비교 데이터에 도달해야 하는 경우 수동으로 이동해야 합니다.
일부 비교 데이터를 만들어야 하는 경우 수동으로 테이블을 작성해야 합니다.
github-compare 의 결과를 살펴보겠습니다.
┌─────────────────────────┬─────────────────────┬───────────────────────┬──────────────────────┬──────────────────┐
│ METRICS │ ZEROMICRO/GO-ZERO │ GO-KRATOS/KRATOS │ ASIM/GO-MICRO │ GO-KIT/KIT │
├─────────────────────────┼─────────────────────┼───────────────────────┼──────────────────────┼──────────────────┤
│ 🏠 homepage │ https://go-zero.dev │ https://go-kratos.dev │ https://go-micro.dev │ https://gokit.io │
│ 🌎 language │ Go │ Go │ Go │ Go │
│ 📌 license │ MIT License │ MIT License │ Apache License 2.0 │ MIT License │
│ ⏰ age │ 655 days │ 1231 days │ 2688 days │ 2668 days │
│ 🌟 stars │ 17778(27/d) │ 17856(14/d) │ 18233(6/d) │ 23084(8/d) │
│ 📊 latestDayStarCount │ 33 (up) │ 7 (down) │ 2 (down) │ 10 (up) │
│ 📉 latestWeekStarCount │ 227 (up) │ 64 (down) │ 31 (down) │ 44 (down) │
│ 📈 latestMonthStarCount │ 916 │ 531 │ 176 │ 235 │
│ 👏 forks │ 2520(3/d) │ 3446(2/d) │ 2087(0/d) │ 2315(0/d) │
│ 👀 watchers │ 266 │ 424 │ 510 │ 690 │
│ 💪 issues │ 50/741 │ 51/793 │ 76/914 │ 35/548 │
│ 💯 pull requests │ 13/1155 │ 10/1221 │ 0/1513 │ 9/627 │
│ 👥 contributors │ 132 │ 198 │ 166 │ 221 │
│ 🚀 releases │ 63 │ 49 │ 206 │ 12 │
│ 🔭 release circle(avg) │ 10 days │ 25 days │ 13 days │ 222 days │
│ 🎯 lastRelease │ 24 day(s) ago │ 1 day(s) ago │ 5 day(s) ago │ 8 month(s) ago │
│ 🕦 lastCommit │ 2 day(s) ago │ 2 hour(s) ago │ 5 day(s) ago │ 6 day(s) ago │
│ 📝 lastUpdate │ 47 minute(s) ago │ 16 minute(s) ago │ 1 hour(s) ago │ 1 hour(s) ago │
└─────────────────────────┴─────────────────────┴───────────────────────┴──────────────────────┴──────────────────┘
이 그래프에서 GitHub 리포지토리의 메트릭을 명확하게 볼 수 있으므로 도구가 어떻게 작동하는지 살펴보겠습니다.
github 비교
GitHub 리포지토리를 통계하는 명령줄 도구
설치
$ go install github.com/anqiansong/github-compare@latest
예시
$ github-compare zeromicro/go-zero go-kratos/kratos asim/go-micro go-kit/kit
┌─────────────────────────┬─────────────────────┬───────────────────────┬──────────────────────┬──────────────────┐
│ METRICS │ ZEROMICRO/GO-ZERO │ GO-KRATOS/KRATOS │ ASIM/GO-MICRO │ GO-KIT/KIT │
├─────────────────────────┼─────────────────────┼───────────────────────┼──────────────────────┼──────────────────┤
│ 🏠 homepage │ https://go-zero.dev │ https://go-kratos.dev │ https://go-micro.dev │ https://gokit.io │
│ 🌎 language │ Go │ Go │ Go │ Go │
│ 📌 license │ MIT License │ MIT License │ Apache License 2.0 │ MIT License │
│ ⏰ age │ 655 days │ 1231 days │ 2688 days │ 2668 days │
│ 🌟 stars │ 17778(27/d) │ 17856(14/d) │ 18233(6/d) │ 23084(8/d) │
│ 📊 latestDayStarCount │ 33 (up) │ 7 (down) │ 2 (down) │ 10 (up) │
│ 📉 latestWeekStarCount │ 227 (up) │ 64 (down) │ 31 (down) │ 44 (down) │
│ 📈 latestMonthStarCount │ 916 │ 531 │ 176 │ 235 │
│ 👏 forks │ 2520(3/d) │ 3446(2/d) │ 2087(0/d) │ 2315(0/d) │
│ 👀 watchers │ 266 │ 424 │ 510 │ 690 │
│ 💪 issues │ 50/741 │ 51/793 │ 76/914 │ 35/548 │
│ 💯 pull requests │ 13/1155 │ 10/1221 │ 0/1513 │ 9/627 │
│ 👥 contributors │ 132 │ 198 │ 166 │ 221 │
│ 🚀 releases │ 63 │ 49 │ 206 │ 12 │
│ 🔭 release circle(avg) │ 10 days │ 25 days │ 13 days │ 222 days │
│ 🎯 lastRelease │ 24 day(s) ago │ 1 day(s) ago │ 5 day(s) ago │ 8 month(s) ago │
│ 🕦 lastCommit │ 2 day(s) ago │ 2 hour(s) ago │ 5 day(s) ago │ 6 day(s) ago │
│ 📝 lastUpdate │ 47 minute(s) ago │ 16 minute(s) ago │ 1 hour(s) ago │ 1 hour(s) ago │
└─────────────────────────┴─────────────────────┴───────────────────────┴──────────────────────┴──────────────────┘
용법
준비
github-compare
인수--token
를 전달하여 액세스 토큰을 설정할 수 있습니다.실행하다
# set access token through the flag --token
# zeromicro/go-zero go-kratos/kratos asim/go-micro go-kit/kit --token ${accessToken}
# or export access token to environment (recommended)
$ export GITHUB_ACCESS_TOKEN=${GITHUB_ACCESS_TOKEN}
$ zeromicro/go-zero go-kratos/kratos asim/go-micro go-kit/kit
메모
github-compare
는 1~4개의 저장소 데이터 쿼리를 허용합니다. 환경 키
GITHUB_ACCESS_TOKEN
마지막
이 저장소가 도움이 된다면 star을(를) 주십시오!
모두 감사합니다!
Reference
이 문제에 관하여(GitHub 리포지토리를 통계하는 명령줄 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/keson/a-command-line-tool-to-statistics-the-github-repositories-1f65텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)