[search] GitHub에서 커밋 메시지를 어떻게 검색합니까?

아니 힘내 저장소 , 오히려에서 GitHub의 구체적 – 내가 어떻게 특정 저장소 / 브랜치의 커밋 메시지를 바로 검색 할 수 있습니까?



답변

2017 년 현재 GitHub 자체에 포함 된 기능 입니다.

그들에 의해 사용되는 예제 검색은 repo:torvalds/linux merge:false crypto policy

여기에 이미지 설명을 입력하십시오
https://github.com/blog/2299-search-commit-messages의 GIF 이미지


답변

이전에는이 ​​작업을 수행 할 수 있었지만 GitHub는 2013 년 중반에이 기능을 제거했습니다. 이를 로컬로 달성하려면 다음을 수행하십시오.

git log -g --grep=STRING

( -g다른 브랜치 및 댕글 링 커밋을 검색 하려면 플래그를 사용하십시오 .)

-g, --walk-reflogs
    Instead of walking the commit ancestry chain, walk reflog entries from
    the most recent one to older ones.


답변

업데이트 (2017/01/05) :

GitHub는 이제 UI 내에서 커밋 메시지를 검색 할 수있는 업데이트를 게시했습니다. 자세한 내용은 블로그 게시물 을 참조하십시오.


나는 같은 질문을했고 어제 누군가 GitHub에게 연락했다.

검색 엔진을 Elasticsearch로 전환했기 때문에 GitHub UI를 사용하여 커밋 메시지를 검색 할 수 없습니다. 그러나이 기능은 팀의 희망 목록에 있습니다.

불행히도 현재 해당 기능에 대한 릴리스 날짜가 없습니다.


답변

짧은 대답은 웹 사이트의 github.com에서 커밋 메시지를 직접 검색 할 수 없다는 것입니다. 당분간 우리 git grep는이 스레드의 다른 사람들이 제안한 로컬 솔루션 을 권장합니다 .

어느 시점에서 GitHub는 git grep단일 저장소에 대한 커밋 메시지에 대한 스타일 검색을 제공했습니다 . 불행하게도,이 접근 방식은 파일 서버에 액세스 할 수없는 서비스 거부를 노출 시켰습니다. 이러한 이유로 git grep검색 을 제거했습니다 .

현재 봉투 뒷면의 추정치는 GitHub에서 약 800 억 마크 정도의 커밋 수를 나타냅니다. Google 엔지니어는 지원을 비웃지 만 ElasticSearch에 저장할 문서는 상당히 많습니다. 우리는이 데이터 세트를 검색 가능하게 만들고 싶지만 사소한 프로젝트가 아닙니다.


답변

이것은 GitHub에서 제거되었습니다. 나는 사용한다:

$git log --all --oneline | grep "search query"

여기에 이미지 설명을 입력하십시오

저자별로 필터링 할 수도 있습니다.

$git log --all --oneline --author=rickhanlonii | grep "search query"


답변

code search의 도움말 페이지에서 아직 불가능한 것 같습니다.

검색 할 파일 또는 경로를 선택하는 기능을 포함하여 저장소에서 텍스트를 검색 할 수 있지만 커밋에서 검색하도록 지정할 수는 없습니다.

어쩌면 그들에게 제안 하시겠습니까?


답변

Google에서 크롤링 한 리포지토리에서이 작업을 수행 할 수 있습니다 (결과는 리포지토리마다 다릅니다).

크롤링 된 모든 저장소의 모든 분기에서 “라이센스 변경”을 검색하십시오.

“라이센스 변경”사이트 : https://github.com/*/*/commits

“변경된 라이센스”에 대한 모든 크롤링 저장소의 검색 마스터 분기 :

“라이센스 변경”사이트 : https://github.com/*/*/commits/master

“변경된 라이센스”에 대한 모든 크롤링 된 트위터 저장소의 검색 마스터 지점

“라이센스 변경”사이트 : https://github.com/twitter/*/commits/master

트위터 / some_project 저장소의 모든 지점에서 “라이센스 변경”을 검색하십시오.

“라이센스 변경”사이트 : https://github.com/twitter/some_project/commits