CLI에서 전체 텍스트 정규식 필터링을 사용하여 GitHub 코드를 검색합니다.
organisation/repository
별로 그룹화된 결과를 표시합니다. gh-search
pypi.org를 통해 Python 패키지로 제공되며 Python 3.12 이상이 필요합니다.
pipx install gh-search
검색 결과를 검색하려면 repo
범위가 있는 유효한 GitHub 개인 액세스 토큰이 필요합니다. GITHUB_TOKEN
환경 변수에 설정하거나 --github-token
옵션을 통해 스크립트에 전달할 수 있습니다.
GitHub Enterprise를 검색하려면 GITHUB_API_URL
환경을 조직의 GitHub v3 API 엔드포인트로 설정하세요. 예. GITHUB_API_URL=https://github.mycompany.net/api/v3
. 이를 위해 --github-api-url
옵션을 사용할 수도 있습니다.
gh-search
호출하고 쿼리 문자열을 첫 번째 인수로 전달합니다. 예를 들어, 이 저장소에서 "usage"라는 단어를 검색하려면 다음을 수행하세요.
gh-search usage repo:janeklb/gh-search
repo:
는 GitHub 검색 API에서 기본적으로 지원하는 검색 한정자입니다. 사용 가능한 다른 한정자를 확인하려면 GitHub의 검색 코드 문서를 참조하세요.
영숫자가 아닌 특정 문자열을 검색하는 경우 --regex-content-filter
(또는 --content-filter
) 옵션을 사용할 수 있습니다. 이는 유효한 GitHub 검색 API 쿼리(나중에 필터링될 결과 집합을 생성함)와 결합되어야 합니다 .
예를 들어 10
으로 시작하는 문자 값으로 설정된 special_var
변수를 찾고 있다면 다음과 같이 할 수 있습니다.
gh-search special_var -e " special_var \ s*= \ s*10 "
Usage: gh-search [OPTIONS] QUERY...
QUERY must contain at least one search term, but may also contain search qualifiers
(https://docs.github.com/en/github/searching-for-information-on-github/searching-code)
Options:
--github-token TEXT GitHub Auth Token. Will fall back on GITHUB_TOKEN envvar.
--github-api-url TEXT Override default GitHub API URL. Can also specify via GITHUB_API_URL envvar.
-p, --path-filter TEXT Exclude results whose path (or part of path) does not match this.
-c, --content-filter TEXT Exclude results whose content does not match this.
-e, --regex-content-filter TEXT
Exclude results whose content does not match this regex.
-a, --include-archived Include results from archived repos.
-l, --repos-with-matches Only the names of repos are printed. Equivalent to --output=repo-list
-o, --output TEXT Output style; one of: default, repo-list, json, yaml
-v, --verbose Verbose output.
--help Show this message and exit.
옵션의 기본값은 구성 파일을 통해 지정할 수 있습니다. 이 파일의 위치는 app_name
이 gh-search
인 click.get_app_dir
을 기반으로 합니다(예: MacOS의 경우 ~/Library/Application Support/gh-search/config
). gh-search --help
의 --config
도움말 텍스트 옆에 인쇄된 정확한 파일 위치를 볼 수 있습니다(또는 --verbose
플래그와 함께 실행하는 경우).
옵션 이름은 click
의 매개변수 이름 지정에 따라 snake_case로 변환되어야 합니다.
예를 들어 기본 --github-token
및 --github-api-url
설정하려면 구성 파일에 다음을 작성합니다( <PLACE HOLDERS>
그에 따라 교체).
github_token="<YOUR TOKEN>"
github_api_url="<THE API URL>"
gh-search
속도 제한을 확인하고 다음과 같은 경우 검색을 계속하라는 메시지를 표시합니다.
500
이상의 핵심 API 요청 수행10%
미만만 남게 됩니다. gh-search
의 필터가 이를 많이 사용할 수 있으므로 핵심 API 할당량만 확인됩니다. 검색 API 할당량은 확인되지 않습니다 .
make install-dev
(먼저 가상 환경을 설정하세요).make unit
make lint