GitHub의 자신이 소유한 리포지토리를 cURL로 가져옵니다.

4827 단어 curlGitHubBashGit
GitHub API 을 사용합니다.

TOKEN 취득



여기 에서 가져옵니다.



권한은 repo를 발행합니다. (invite라든지 필요없을지도)



검색된 TOKEN 및 GitHub 사용자 이름을 환경 변수로 설정합니다.
$ export TOKEN=xxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$ export USER=yousan

실행


$ curl -s -u $USER:$TOKEN "https://api.github.com/user/repos?per_page=100&visibility=all&page=1"

이런 식으로 나옵니다.



옵션



지정할 수 있는 옵션입니다.


옵션 이름
설명


per_page
1회당 취득 건수. 100이 최대값.

visibility
퍼블릭(public), 프라이빗(private) 리포지토리를 지정. 둘 다 모두.

페이지
Pagination. 1 이상의 숫자로 지정한다.


jq



출력 결과는 jq를 넣어두면 보기 쉽습니다.

참고 : jq 명령을 사용하는 일상 소개

html URL 가져오기



리포지토리 URL을 검색하는 필터링.
$ curl -s -u $USER:$TOKEN "https://api.github.com/user/repos?page=1&per_page=1000&visibility=public" | jq '.[].html_url'


grep 와 결합하면 간단한 검색이 가능합니다.

따옴표 없음


$ curl -s  -u $USER:$TOKEN "https://api.github.com/user/repos?page=1&per_page=1000&visibility=public" | jq -r '.[].html_url' | head -n 20



SSH URL 획득



자신의 리포지토리를 손에 들고 복제 할 때 SSH URL이 유용합니다.



검색 및 복제



응용 프로그램을 검색하고 복제합니다.
git clone $(curl -s  -u $USER:$TOKEN "https://api.github.com/user/repos?page=1&per_page=1000&visibility=public" | jq -r '.[].ssh_url' | grep factorio)

페지네이션과 여러 걸려 버리는 것에 주의가 필요합니다.



기타



GitHub에 한정되지만 hub 명령이 매우 편리합니다.
참고 : GitHub 사용자를 위한 hub 명령

거기에 검색이 더해지면 매우 편리하다고 생각합니다.
htps : // 기주 b. 코 m / 기테 b / 후 b / 이스에 s / 833

라고 할까 이미 좋은 느낌의 패키지가 있는 것 같았습니다.
명령줄에서 github을 검색하여 git clone을 수행 with ghs, peco and ghq

좋은 웹페이지 즐겨찾기