programing

커밋 해시가 지정된 GitHub에서 커밋 찾기

linuxpc 2023. 5. 11. 21:11
반응형

커밋 해시가 지정된 GitHub에서 커밋 찾기

저는 Github에 꽤 생소하고 아마추어 같은 문제를 접했습니다.

코드 검토 요청을 받고 커밋 해시를 제공받았지만, 커밋 해시를 사용하여 검색할 수 있는지 Git를 찾아봤지만 아무것도 찾을 수 없었습니다.

커밋 해시를 사용하는 것만으로 변경된 코드를 찾을 수 있는 방법이 있습니까?

양식의 URLhttps://github.com/<owner>/<project>/commit/<hash>해당 커밋에 도입된 변경 사항이 표시됩니다.예를 들어 최근 GitHub에서 수행한 프로젝트 중 하나에 대한 버그 수정은 다음과 같습니다.

https://github.com/jerith666/git-graph/commit/35e32b6a00dec02ae7d7c45c6b7106779a124685

해시를 다음과 같은 고유 접두사로 단축할 수도 있습니다.

https://github.com/jerith666/git-graph/commit/35e32b


방금 GitHub에 대해 질문하신 것은 알지만, 완전성을 위해:리포지토리를 체크아웃한 경우 명령줄에서 다음 명령 중 하나를 사용하여 기본적으로 동일한 작업을 수행할 수 있습니다(여기서도 고유 접두사가 작동함).

git show 35e32b6a00dec02ae7d7c45c6b7106779a124685
git log -p -1 35e32b6a00dec02ae7d7c45c6b7106779a124685

참고: 커밋 해시를 너무 짧게 하면 명령줄에서 유용한 명확한 메시지를 제공하지만 GitHub는 404를 반환합니다.

단일 커밋 보기:
https://github.com/<user>/<project>/commit/<hash>

로그 보기:
https://github.com/<user>/<project>/commits/<hash>

전체 레포 보기:
https://github.com/<user>/<project>/tree/<hash>

<hash>고유한 길이일 수 있습니다.

커밋을 검색하는 기능이 최근 깃허브에 추가되었습니다.

해시를 검색하려면 검색 상자에 처음 7자 이상을 입력하십시오.그런 다음 결과 페이지에서 "커밋" 탭을 클릭하여 일치하는 커밋을 확인합니다(일반적으로 기본 분기에만 해당).master) 또는 "문제" 탭을 눌러 커밋이 포함된 꺼내기 요청을 확인합니다.

보다 명확하게 설명하기 위해 다음을 추가할 수 있습니다.hash:검색의 접두사이지만 실제로 필요한 것은 아닙니다.

REST API도 있습니다(작성 시점에서는 여전히 미리 보기 중입니다).

GitHub CLI 명령 v2.22.0(2023년 1월)을 사용하여 복제된 로컬 GitHub 저장소 내에서 검색할 수 있습니다.

참조:

예:

# search commits matching hash "8dd03144ffdc6c0d486d6b705f9c7fba871ee7c3"
$ gh search commits --hash=8dd03144ffdc6c0d486d6b705f9c7fba871ee7c3

그러나 또한:

# search commits matching set of keywords "readme" and "typo"
$ gh search commits readme typo

# search commits matching phrase "bug fix"
$ gh search commits "bug fix"

# search commits committed by user "monalisa"
$ gh search commits --committer=monalisa

언급URL : https://stackoverflow.com/questions/12214746/find-a-commit-on-github-given-the-commit-hash

반응형